python - 我如何知道哪些 pip 包需要我的 python 项目以及如何列出我已经在我的项目中使用的包

标签 python pip

在我的项目中,位于名为 example 的文件夹中包含项目的所有 .py 文件。我的项目也使用了一些通过 pip 提供的包,但是当我需要为我的同事上传到公共(public) git repo 以便使用它时,我需要 somwhow 来“索引”或“列出”我通过 pip 安装的所需包为了下载它们。

换句话说,我正在寻找与 node 的 npm 或 php 的 composer 类似的功能,它们能够保存我的依赖项的所有引用,以便我的同事通过 npm 下载它们安装composer 安装。所以我想问如何使用 pip 实现类似的功能?

编辑 1:

我只安装了一些 pip 包,如何将我import 的包安装到我的源代码中?

我的意思是在我的项目的 spurce 上我有像这样的条目:

import ^package_name^
from ^package_name^ import ^some_function_or_class^

我如何通过查看导入条目找到我安装的 pip 包?

最佳答案

您正在寻找的是需求文件。

https://pip.pypa.io/en/stable/user_guide/#requirements-files

如果您想保存所有当前包,您可以执行 pip freeze > requirements.txt,但我不推荐这样做,因为这不仅会添加您的脚本需要的包,还会添加你的要求等等。例如:

$ pip freeze
no packages installed
$ pip install requests
$ pip freeze
certifi==2017.4.17
chardet==3.0.4
idna==2.5
requests==2.18.1
urllib3==1.21.1

所以在这个例子中只有请求应该在你的需求文件中,但是如果你转储 pip freeze 你会有一些额外的包。

您的需求文件可能如下所示:

# This is the contests of requirements.txt
requests>=2.18.1,<3.0.0

要安装它,您只需执行 pip install -r requirements.txt


如果您开始从事具有不同要求的不同项目,您肯定需要了解 virtual environments .这是一种安装不同的 python 解释器和包的方法。类似于 npm 将包安装到当前文件夹的方式。

关于python - 我如何知道哪些 pip 包需要我的 python 项目以及如何列出我已经在我的项目中使用的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45282803/

相关文章:

python - 如何让 Popen 等待命令完成?

pip 无法在 github 上找到版本

python - 属性 lat 必须是显示在我的仪表板中的 float

python - 使用 ftplib 将文件传输到 FTP 服务器后文件被损坏

python - 迭代二维列表并从Python中的坐标中选择范围

python - Pandas groupby 并计算百分比变化

python - 如何在python中通过paaver安装模块?

python - pip install tesserocr 失败,出现错误 "Failed building wheel for tesserocr"

python - 如何让 pip 再次工作?

python - 无法在树莓派 3 b+ 上卸载 python/pip