是什么命令的区别:和不同的安装包的列表唱“点子名单”和“pip.get_installed_distributions()”
$ pip list
,我可以在命令行中运行,:
import pip
pip.get_installed_distributions()
我在python
环境中运行。
为什么他们返回已安装软件包的不同列表?
是什么命令的区别:和不同的安装包的列表唱“点子名单”和“pip.get_installed_distributions()”
$ pip list
,我可以在命令行中运行,:
import pip
pip.get_installed_distributions()
我在python
环境中运行。
为什么他们返回已安装软件包的不同列表?
据pip.get_installed_distributions()
从source code定义 -
def get_installed_distributions(local_only=True,
skip=stdlib_pkgs,
include_editables=True,
editables_only=False,
user_only=False):
这是默认与local_only
集运行作为True
,而当你做pip list
,它会显示所有的包本地和全局,这是在你的情况下可能发生的事情,并导致你看到更多的软件包安装(包括本地和全球)。
尝试运行pip list --local
只得到本地安装的软件包
或
pip.get_installed_distributions(local_only=False)
获得全球包为好。
它对我来说也是一样。你确定你在运行'python'的同一个env中运行'pip list'吗? – davidism
你的$ PATH有什么? –
@davidism我打开一个终端并运行'pip list',我得到一个长列表。然后我在同一个终端会话中输入一个'python'环境并使用'pip.get_installed_distributions()'命令,我得到一个更短的列表。 – Gabriel