由於在工作中遇到,需要別人廣泛使用我寫的代碼,故記錄一次發布自己的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 就可以輕松使用了