写过 Python 程序的小伙伴们都知道,需要 import 个非 Python 自带的软件包时,都要用到 pip 这个程序。平时我们都是用 pip,如果我们写好了一个程序,想让大家都能用的到,那么是不是也可以通过 pip 发布出去呢?
答案当然是可以了,这篇文章我们就来看看如何用 pip 发布一个 python 程序。
1. 环境准备
要用 pip 发布 python 程序,首先当然是要安装 Python 和 pip 这两个软件了,以 Ubuntu 16.04 为例:
$ sudo apt update $ sudo apt install -y python python-pip
CentOS 和 RedHat 因为 RPM 体系需要依赖于 python,更是默认就安装好了。
另外发布 Pypi,还需要安装一个发布工具, twine ,以及其所依赖的 setuptools、wheel:
$ sudo pip install --upgrade twine setuptools wheel
好,到这环境就已经就绪了。
2. 注册帐号
pip 上传代码包是最终保存在 https://pypi.org 这个网站上的,所以要用 pip 发布程序,就需要在这个网站上注册一个帐号。
访问该网址进行注册: https://pypi.org/account/register/
注册后还需要进行邮箱验证,流程和普通网站没有任何区别,所以具体步骤就不在这里详细介绍了。
3. 代码结构
要发布 Python 程序,程序的结构必须符合特定的要求,假设要发布的程序名为 example-pkg,基本的目录结构如下:
/example-pkg /example-pkg __init__.py setup.py LICENSE README.md
说一下目录和文件的含义:
首先最外层要建立一个和发出程序同名的文件夹: /example-pkg 该文件夹下还要再简历一个同名文件夹,用来存放程序代码: /example-pkg/example-pkg Python 的老规矩,example-pkg/example-pkg 目录下当然要有一个__init__.py
文件。 /example-pkg 目录下要有一个叫 setup.py 的文件,如果下载过 Python 代码包,应该都知道这个文件,需要通过这个文件进行 Python 代码的编译(可能会有依赖的其他代码包或者依赖的 C 文件)和安装。 LICENSE 文件:这个文件就是用来保存代码所使用的开源许可证。 README.md:这个是软件行业的惯例了,帮助文档。对于 setup.py 文件,还有必要好好说说,先贴个例子,下面这个例子中,主要是实现了从 /example-pkg/example-pkg/__init__.py
文件中读取 version 参数,来配置当前软件的版本,并指定了代码包名(name)、作者(author)、邮箱(author_email)、描述信息(long_description、long_description_content_type)、依赖(install_requires),以及哪些文件不会被打包到程序中(exclude_package_data)。
另外需要提醒大家一点, 给程序起名字不要带下划线(_) ,python import 代码包时,是不支持下划线包名的,出现这种情况就比较尴尬,代码装上了,还是用不了。
新闻热点
疑难解答