若是你的python項目比較複雜,包含了多個層級的複雜的模塊,你能夠參考下面的blog來編寫setup.py的packages選項html
附我的項目NetCloud的setup.py示例:python
#!/usr/bin/env python # coding=utf-8 from setuptools import setup setup( name="NetCloud", version="1.0.2", description='''網易雲音樂綜合爬蟲,能夠實現: 1.對於網易雲音樂評論以及用戶信息的爬取,而且可視化展現; 2.支持模擬登陸,提供包括音樂,歌手,歌單,dj等全方位的api支持''', author='lyrichu', author_email='lyrichu@foxmail.com', url = "http://www.github.com/Lyrichu/NetCloud", maintainer='lyrichu', maintainer_email='lyrichu@foxmail.com', packages=['netcloud.analyse','netcloud.crawler', 'netcloud.login','netcloud.util', 'netcloud.demo','netcloud.test'], package_data={'netcloud.util': ['source/*']}, install_requires=[ 'pycrypto', 'requests', 'pyecharts', 'pandas', 'jieba', 'wordcloud', 'scipy' ] )
python setup.py install
# 源碼包,這會獲得一個.tar.gz的文件 python setup.py sdist build # 預編譯包,這會獲得一個.whl的文件 python setup.py bdist_wheel --universal
# 上傳源碼包 python setup.py sdist upload # 上傳預編譯包 python setup.py bdist_wheel upload
使用twine工具git
# 首先安裝twine sudo pip install twine # 上傳打包好的文件到pypi twine upload dist/*
twine上傳的過程當中會提示你輸入pypi的用戶名和密碼,直接按照提示輸入便可。正常狀況下你就能夠成功發佈你的pyhton庫了。
發佈完成以後,你就可使用pip命令安裝你本身的庫了,你能夠試着安裝並測試一下你的庫在本機是否能夠正常工做。github