专栏名称: Python爱好者社区
人生苦短,我用Python。分享Python相关的技术文章、工具资源、精选课程、视频教程、热点资讯、学习资料等。每天自动更新和推送。
目录
相关文章推荐
Python中文社区  ·  三年稳赚40倍!用布林带挤压策略跑赢特斯拉 ·  昨天  
Python爱好者社区  ·  DeepSeek彻底爆了! ·  3 天前  
Python爱好者社区  ·  DeepSeek 被放弃了,阿里牛逼! ·  2 天前  
Python爱好者社区  ·  付费上班终于成为了现实。 ·  2 天前  
Python爱好者社区  ·  刚刚,DeepSeek放出重磅论文!梁文锋亲 ... ·  4 天前  
51好读  ›  专栏  ›  Python爱好者社区

如何把自己的开源项目发布到Pypi服务器

Python爱好者社区  · 公众号  · Python  · 2018-01-16 17:46

正文

作者:刘志军,6年+Python使用经验, 高级开发工程师,目前在互联网医疗行业从事Web系统构架工作

个人公众号:Python之禅(微信ID:vttalk)


众所周知,Python社区最吸引人的地方之一就是社区提供了非常丰富的第三方库,任何人都可以往上面提交自己写的开源工具包,如果希望用户可以直接通过 pip 命令下载安装的话,作为开发者,我们就可以把自己写的开源代码上传到 Pypi 服务器,这篇教程以 https://github.com/lzjun567/zhihu-api 为例,告诉你如何操作,如果你还没准备自己的开源项目,留着以后也会用得着。

目录结构除了项目所有的包目录之外,还要有 setup.py 文件和依赖包文件 requirements.txt 以及 README 说明文件。

|-- MANIFEST.in |-- README.md |-- requirements.txt # 项目依赖的第三方包 |-- setup.cfg |-- setup.py # 配置文件 `-- zhihu   # 包目录    |-- __init__.py    |-- auth.py    |-- error.py    |-- main.py    |-- models

setup.py 文件中必须包含内容是 setup 函数中指定的参数:

# -*- encoding: UTF-8 -*- from setuptools import setup, find_packages import io VERSION = '0.2.4' with io.open("README.md", encoding='utf-8') as f:    long_description = f.read() install_requires = open("requirements.txt").readlines() setup(    name="zhihu",  # pip 安装时用的名字    version=VERSION,  # 当前版本,每次更新上传到pypi都需要修改    author="liuzhijun",    author_email="[email protected]",    url="https://github.com/lzjun567/zhihu-api",    keyworads="zhihu",    description="zhihu api from humans",    long_description=long_description,    packages=find_packages(exclude=('tests', 'tests.*')),    include_package_data=True,    license='MIT License',    classifiers=[],    install_requires=install_requires, )

也可以直接把代码下载下来,在本地通过 python settup.py install 的方式安装配置完之后需要到 Pypi 网站注册自己的帐号 https://pypi.python.org/pypi

上传文件前,需要地系统当前用户目录新建文件 .pypirc,内容如下,并指定用户名和密码:

[distutils] index-servers =    pypi [pypi] username:xxxx password:xxxx

开始上传:

python setup.py register sdist bdist_egg upload

上传成功后,用 pip install zhihu 测试一下效果。发现报错了 IOError: [Errno 2] No such file or directory: ‘README.md’ ,说是找不到 README.md 文件,其实这里还忽略了一个步骤,需要在项目中添加 MANIFEST.in 文件,把 readme 和 requirement 文件进入进来:

include README.md include requirements.txt

.至此,安装包成功上传到Pypi服务器。 Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号, “Python爱好者社区” ,开始学习Python课程:

关注后在公众号内回复







请到「今天看啥」查看全文


推荐文章
Python爱好者社区  ·  DeepSeek彻底爆了!
3 天前
Python爱好者社区  ·  DeepSeek 被放弃了,阿里牛逼!
2 天前
Python爱好者社区  ·  付费上班终于成为了现实。
2 天前
治愈系心理学  ·  男人爱不爱你,上个床就知道了...
7 年前
大家-腾讯新闻  ·  廖伟棠:不是每个衣冠禽兽都叫胡兰成
7 年前
中国生物产业信息平台  ·  SEER数据挖掘和临床课题设计经验分享学习班
7 年前