若是你的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