有没有办法找到使用easy_install或pip安装的所有Python PyPI包?我的意思是,不包括发行版工具(在Debian上的apt-get)安装的所有东西。
当前回答
正如@almenon指出的那样,这种方法不再有效,也不支持在代码中获取包信息的方式。下面会引发一个异常:
import pip
installed_packages = dict([(package.project_name, package.version)
for package in pip.get_installed_distributions()])
为此,可以导入pkg_resources。这里有一个例子:
import pkg_resources
installed_packages = dict([(package.project_name, package.version)
for package in pkg_resources.working_set])
我的版本是v3.6.5
其他回答
PIP冻结列出所有已安装的包,即使不是通过PIP /easy_install。 在CentOs/Redhat上可以找到通过rpm安装的包。
下面是fedora或其他rpm发行版的一行代码(基于@barraponto tips):
find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs rpm -qf | grep 'not owned by any package'
将此附加到上一个命令以获得更清晰的输出:
| sed -r 's:.*/(\w+)/__.*:\1:'
如果有人想知道,你可以使用'pip show'命令。
pip show [options] <package>
这将列出给定包的安装目录。
PIP列表[选项] 你可以在这里看到完整的参考资料
在保罗·伍尔考克的回答中,
pip freeze > requirements.txt
将在当前位置的活动环境中创建一个包含所有已安装包和已安装版本号的需求文件。运行
pip install -r requirements.txt
将安装需求文件中指定的包。
推荐文章
- 如何在Python中进行热编码?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔
- 我如何才能找到一个Python函数的参数的数量?
- 您可以使用生成器函数来做什么?
- 将Python诗歌与Docker集成
- 提取和保存视频帧
- 使用请求包时出现SSL InsecurePlatform错误
- 如何检索Pandas数据帧中的列数?
- except:和except的区别:
- 错误:“字典更新序列元素#0的长度为1;2是必需的”