21

超级新手问题在这里..

pip install 实际上做了什么?

假设 pypi 包是一个 tarball ......

它只是下载 tar.gz,解压缩并运行 setup.py 吗?

它是否将下载的包添加到 site_packages 文件夹?

我想使用 pypiserver 创建一个 pip 可安装的 pkg,以便我的同事可以轻松地下载我的 pkg,但我有点不确定除了实际的 .py 脚本之外还要包含哪些内容。

任何指导将不胜感激

4

1 回答 1

5

tar.gz 文件是源存档,而 .whl 文件是构建的分发版。较新的 pip 版本优先安装已构建的发行版,但如果需要,将回退到源存档。您应该始终上传源存档并为您的项目兼容的平台提供构建的存档。在这种情况下,我们的示例包在任何平台上都与 Python 兼容,因此只需要一个内置发行版。

请参阅:https ://packaging.python.org/tutorials/packaging-projects/

您通常不会手动创建源存档和轮子,而是使用setuptoolswheel为您执行此操作。

如今,许多包裹都是轮子。使用 pip 安装这些轮子时,pip 将:

[...] 解压您当前站点包目录中的存档并安装轮中包含的任何控制台脚本。

请参阅:https ://wheel.readthedocs.io/en/stable/user_guide.html#installing-wheels

于 2020-05-27T14:08:29.090 回答