有没有办法找到使用easy_install或pip安装的所有Python PyPI包?我的意思是,不包括发行版工具(在Debian上的apt-get)安装的所有东西。
当前回答
下面的代码有点慢,但是它给出了pip所知道的一个格式良好的包列表。也就是说,并不是所有的都是“由”pip安装的,但是它们都应该能够由pip升级。
$ pip search . | egrep -B1 'INSTALLED|LATEST'
它慢的原因是它列出了整个pypi回购的内容。我提交了一张罚单,建议pip list提供类似的功能,但更有效。
示例输出:(将搜索限制为一个子集,而不是'。’。)
$ pip search selenium | egrep -B1 'INSTALLED|LATEST'
selenium - Python bindings for Selenium
INSTALLED: 2.24.0
LATEST: 2.25.0
--
robotframework-selenium2library - Web testing library for Robot Framework
INSTALLED: 1.0.1 (latest)
$
其他回答
请注意,如果您的计算机上安装了多个版本的Python,则每个版本可能都有几个pip的相关版本。
根据您的关联,您可能需要非常谨慎地使用pip命令:
pip3 list
对我有用,我在那里运行Python3.4。简单地使用pip列表返回错误“pip”程序当前未安装。您可以通过输入:sudo apt-get install python-pip来安装它。
在保罗·伍尔考克的回答中,
pip freeze > requirements.txt
将在当前位置的活动环境中创建一个包含所有已安装包和已安装版本号的需求文件。运行
pip install -r requirements.txt
将安装需求文件中指定的包。
pip. get_installed_distributors()将给出已安装包的列表
import pip
from os.path import join
for package in pip.get_installed_distributions():
print(package.location) # you can exclude packages that's in /usr/XXX
print(join(package.location, package._get_metadata("top_level.txt"))) # root directory of this package
如果有人想知道,你可以使用'pip show'命令。
pip show [options] <package>
这将列出给定包的安装目录。
PIP冻结将输出已安装包及其版本的列表。它还允许您将这些包写入文件,以便稍后用于设置新环境。
https://pip.pypa.io/en/stable/reference/pip_freeze/#pip-freeze
推荐文章
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块
- 蟒蛇导出环境文件
- Django - makemigrations -未检测到任何更改
- SQLAlchemy:引擎、连接和会话差异
- 在Python Pandas中删除多个列中的所有重复行
- 更改pandas DataFrame中的特定列名
- 将Pandas多索引转换为列
- 熊猫在每组中获得最高的n个记录
- 熊猫数据帧得到每组的第一行