如何用 pip 安装自己写的包
昨天突发奇想,想让自己写的包也可以像我们常用的 numpy、flask、tensorflow 那样直接一个 pip install XXX
命令就安装上。
要实现这个,首先,我们需要了解 pip 和 Pypi。
(如果你懂一点点英语,请直接看这篇文档:Packaging and distributing projects)
(如果你用 Windows,我不保证你可以顺利完成所有操作,自求多福 [告辞])
Pypi
The Python Package Index (PyPI) is a repository of software for the Python programming language.
这是 Pypi 的官网上对自己的描述,大概翻译一下:
Python Package Index (PyPI) 是 Python 编程语言的软件库。
其实,我们平时使用 pip 时,就是在 Pypi 里拉取这些包的,例如:
- numpy: pip install numpy
- tensorflow: pip install tensorflow
如何用 pip 安装包可以参考:文档 - Installing Packages,这不是本文的重点。
我们接下来参考 文档 - Packaging Python Projects,讨论如何打包、发布自己的项目,然后用 pip 安装自己写的包。
项目结构
大家都知道(不然这篇文章还不适合现在的你,不用看了),我们写一个 Python 项目时,最基本的目录结构如下:
packaging_tutorial/
example_pkg/
__init__.py
当我们要开源或者以其他形式发布一个项目时,比如放到 Github 之前,还会加一些测试、LICENSE、README,目录就变成了这样:
packaging_tutorial/
example_pkg/
__init__.py
tests/
LICENSE
README.md
现在我们要打包发布这个项目,还需要再加一个 setup.py
:
packaging_tutorial/
example_pkg/
__init__.py
tests/
setup.py