温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么把自己的开源项目发布到Pypi服务器

发布时间:2021-12-17 15:11:59 来源:亿速云 阅读:149 作者:iii 栏目:大数据

这篇文章主要讲解了“怎么把自己的开源项目发布到Pypi服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么把自己的开源项目发布到Pypi服务器”吧!

众所周知,Python社区最吸引人的地方之一就是社区提供了非常丰富的第三方库,任何人都可以往上面提交自己写的开源工具包,如果希望用户可以直接通过 pip 命令下载安装的话,作为开发者,我们就可以把自己写的开源代码上传到 Pypi 服务器。

目录结构除了项目所有的包目录之外,还要有 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="lzjun567@gmail.com",
    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

怎么把自己的开源项目发布到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服务器”的内容了,经过本文的学习后,相信大家对怎么把自己的开源项目发布到Pypi服务器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI