如何pip冻结源码包

How to pip freeze source package

我正在学习如何在这里使用 venv:https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/#installing-from-source

它说我可以通过以下方式安装源码包:

python3 -m pip install .

这行得通,但现在如果我这样做 pip freeze 然后我看到:

my-package @ file:///Users/joesmith/my-package

问题是,如果我将它导出到 requirements.txt 并尝试在另一台机器上安装这个环境,那么它将无法工作,因为源路径明显改变了。

像我一样在本地使用源包但之后又将其导出以便其他人可以在另一台机器上重新创建 environment/run 代码的正确方法是什么?

您将从 PyPI 而不是从源安装包。

pip install requests

通过这种方式,其他开发人员也可以轻松地运行您的项目。

Pip 像 git 一样支持 VCS。例如,您可以将代码上传到 git(例如 Github、Gitlab、..),然后使用 requirements.txt。像这样:

git+http://git.example.com/MyProject#egg=MyProject

https://pip.pypa.io/en/stable/cli/pip_install/#vcs-support