意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

如何发布Python包,具体过程是什么

来源:恒创科技 编辑:恒创科技编辑部
2023-12-25 01:29:59
这篇文章给大家介绍了“如何发布Python包,具体过程是什么”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。


如何发布Python包,具体过程是什么

本文主题如下:

编写一个包(Python 源代码),但不是本文的重点。

编译包,观察编译后的文件。

发布包,发布的包可以有多种类型。

如何在 Pypi 中查看已发布的包。


注意:

本文编写的包在 Python2 环境下测试通过,实际上这个包(只是个例子)比较简单,在 Python3 下也能运行。

本文知识点可能陈旧,比如 Python Pypi 官方已做了很大改变。

1. 编写包源代码

这篇文章主要描述如何发布一个包,不描述如何编写一个包,如果你没有代码(只想学习如何发布包),可下载下面的示例。

$wget"https://files.pythonhosted.org/packages/96/66/43e6df87373557553be2b4343db27d008c6dcefa110ccff38cba1459ca07/ywdblogmath-0.1.tar.gz"

可以认为下载的源码就是读者自己编写的,然后在本地测试、生成、发布包。

运行下列命令解压缩,并将代码放到特定目录:

$tarywdblogmath-0.1.tar.gz
#代码在/root/python目录下
$mvsetup.pyywdblogmath/root/python

2. 查看 setup.py

为了生成和发布包,必须编写 setup.py 文件,编写该文件必须依赖于 setuptools 包(还记得上一篇文章讲解的 Python 官方包管理工具),这个包本身也是一个 Python 包。

#!/usr/bin/envpython
fromsetuptoolsimportsetup
setup(name='ywdblogmath',
version='0.1',
description='Asillyywdblogmathpackage',
author='ywdblog',
author_email='ywdblog@gmail.com',
url='http://www.yudadan.com/',
packages=['ywdblogmath','ywdblogmath.adv'],
)

望文生义,不过多讲解相应的参数。

3. 测试本地包

首先将该代码生成一个本地包,然后编写代码测试该包的功能。

在开发模式下安装包:

$pythonsetup.pydevelop

观察安装后生成的文件:

/usr/local/lib/python2.7/dist-packages/ywdblogmath.egg-link

/usr/local/lib/python2.7/dist-packages/easy-install.pth

这二个文件包含的内容就是 /root/python(一个软连接)。

编写测试文件 example.py :

importsys
importywdblogmath
print(ywdblogmath.add(4,5))
print(ywdblogmath.division(4,2))
print(ywdblogmath.multiply(10,5))
print(ywdblogmath.squareroot(48))

然后运行 example.py:

$pythonexample.py
9
2
50
6.92820323028

4. 配置 pypi

(1)为了发布包,必须在 pypi.org 注册一个用户,注册邮箱需要验证。

(2)配置 $HOME”.pypirc” 文件:

[distutils]
index-servers=pypi
[pypi]
repository=https://upload.pypi.org/legacy/
username=pypi.org登录名
password=pypi.org登陆密码

5. 发布包

在发布包之前,运行下列命令了解所有可用的命令:

$pythonsetup.py--help-commands

先编译包:

$pythonsetup.pybuild

运行完成后生成 /root/python/build 目录,所以编译的文件保存在该目录下。

(1)生成 tar.gz 包

$pythonsetup.pysdist

运行后产生下列文件:

/root/python/dist/ywdblogmath-0.1.tar.gz

/root/python/ywdblogmath.egg-info (python setup.py egg_info 命令也会生成该文件)

(2)生成 egg 包

$pythonsetup.pybdist_egg

运行后产生下列文件:

/root/python/dist/ywdblogmath-0.1-py2.7.egg

/root/python/ywdblogmath.egg-info (python setup.py egg_info 命令也会生成该文件)

(3)生成 wheel 包

$pythonsetup.pybdist_wheel

运行后产生下列文件:

/root/python/dist/ywdblogmath-0.1-py2-none-any.whl

/root/python/ywdblogmath.dist-info

最后发布包(任何一个命令都可以):

#发布.tar.gz包
$pythonsetup.pysdistupload
#发布egg包
$pythonsetup.pybdist_eggupload
#发布wheel包
$pythonsetup.pybdist_wheelupload

至于发布什么类型的包,读者自己决定,如果想让所有的包安装工具(比如 pip、easy_install )都能安装你发布的包,可同时发布这三种类型的包。

登录 pypi.org 查看发布的包

在发布包的时候,可能会遇到很多命令行提示的错误,这些内容不是本文的重点,另外注意 setpy.py 中的包版本号,可以测试发布多版本的包。


以上就是关于“如何发布Python包,具体过程是什么”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
上一篇: Python中json中文数据的读写要注意什么 下一篇: Python中nonlocal和global的使用分别是怎样