python发布自己的pip项目
由于在工作中遇到,需要别人广泛使用我写的代码,故记录一次发布自己的pip项目
一、注册自己的 PyPi 帐号
也可以是自己搭的 PyPi私服仓库的账号
二、依据自己的项目目录,创建setup.py
如下图所示,agent_cli是我整体的项目,我想要将pip-test目录下的代码打包上传到Pypi仓库中;
在pip-test的同级目录,创建setup.py文件
三、 编写自己的setup.py文件
from setuptools import setup, find_packages setup( name='pip-test', # 打包后的包文件名 version='1.0', #版本号 keywords=("pip", "client"), # 关键字 description='client', # 说明 long_description="client", #详细说明 license="MIT Licence", # 许可 url='', 一般是GitHub项目路径 author='XXX', author_email='XXXXXXXXX.com', # packages=find_packages(), #这个参数是导入目录下的所有__init__.py包 include_package_data=True, platforms="any", install_requires=['thrift'], # 引用到的第三方库 # py_modules=['pip-test.DoRequest', 'pip-test.GetParams', 'pip-test.ServiceRequest', # 'pip-test.ts.constants', 'pip-test.ac.Agent2C', # 'pip-test.ts.ttypes', 'pip-test.ac.constants', # 'pip-test.__init__'], # 你要打包的文件,这里用下面这个参数代替 packages=['pip-test', 'pip-test.gen_py', 'pip-test.gen_py.ac', 'pip-test.gen_py.ts'] # 这个参数是导入目录下的所有__init__.py包 )
四、打包自己的项目
执行下述两条命令
python setup.py build #执行此命令后,会生成上面图片中build的目录,目录层级是 build/lib/pip-test, pip-test目录下就是你打包文件解压后的结果,可以在此查看打包的代码是否完整
python setup.py sdist # 执行此命令后,就会在dist目录下生成压缩包文件 .tar.gz
五、上传到PyPi服务器
在上传前,要建一个文件,$HOME/.pypirc,$HOME目录在linux或者mac系统下就是~/目录。在这里建一个.pypirc文件。里边的内容如下:
[distutils] index-servers = pypi [pypi] username:你的PyPi用户名 password:你的PyPi密码
执行此命令: twine upload dist/XXXXX-0.1.0.tar.gz 上传你刚刚打包好的压缩包
六、安装使用
使用pip install XXX 就可以轻松使用了