有没有办法找到使用easy_install或pip安装的所有Python PyPI包?我的意思是,不包括发行版工具(在Debian上的apt-get)安装的所有东西。
当前回答
开始:
$ pip list
列出所有软件包。一旦你找到你想要的包,使用:
$ pip show <package-name>
这将显示有关此包的详细信息,包括其文件夹。如果您已经知道包的名称,可以跳过第一部分
点击这里查看更多关于pip show的信息,点击这里查看更多关于pip list的信息。
例子:
$ pip show jupyter
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
License: BSD
Location: /usr/local/lib/python2.7/site-packages
Requires: ipywidgets, nbconvert, notebook, jupyter-console, qtconsole, ipykernel
其他回答
从pip的1.3版本开始,您现在可以使用pip list
它有一些有用的选项,包括显示过期包的能力。下面是文档:https://pip.pypa.io/en/latest/reference/pip_list/
对于那些没有安装pip的人,我在github上找到了这个快速脚本(适用于Python 2.7.13):
import pkg_resources
distros = pkg_resources.AvailableDistributions()
for key in distros:
print distros[key]
正如@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 freeze > requirements.txt
将在当前位置的活动环境中创建一个包含所有已安装包和已安装版本号的需求文件。运行
pip install -r requirements.txt
将安装需求文件中指定的包。
PIP冻结将输出已安装包及其版本的列表。它还允许您将这些包写入文件,以便稍后用于设置新环境。
https://pip.pypa.io/en/stable/reference/pip_freeze/#pip-freeze
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录