Conda:使用pip已经安装的包未在conda list中显示

3

我在conda环境中使用pip安装包。

pip install pygame
Requirement already satisfied: pygame in ./anaconda3/lib/python3.6/site-packages (1.9.4)

当前目录为/Users/aptx4869。然而,当我输入conda list时,当前环境中没有任何内容。出了什么问题?这是环境所在的目录:

/Users/aptx4869/anaconda3/envs/rl

更新

我在根环境中删除了pygame,并在rl conda环境中运行pip install pygame,但是我收到了另一条消息。但是pygame仍然没有显示在conda list中。

 pip install pygame
Collecting pygame
  Using cached https://files.pythonhosted.org/packages/bc/19/57bf1e9c72be4f7afc1add56cc717b7f7fe8ef1b6b5fb58f031a06401d0f/pygame-1.9.4-cp36-cp36m-macosx_10_11_intel.whl
Installing collected packages: pygame
Successfully installed pygame-1.9.4
(rl)

注意:在命令的末尾加上(rl),这个pip命令仍然会在根环境中安装pygame


你能够使用conda的Python导入它吗? - user2906838
@user2906838 对不起。如何导入它? - Maybe
在终端中运行 python 并执行 import pygame,如果没有错误,则说明您的包已经安装好了。确保终端中的 python 指向 conda 的发行版。您可以通过打印 sys.path 来验证。 - user2906838
是的,你可以有多个虚拟环境,但你需要在所有环境中安装pygame或其他包。比如说你有两个Venv,你需要在这两个Venv中都安装pygame或其他包。只在一个虚拟环境中安装是无法让你在另一个Venv中使用该包的,这就是我的意思。 - user2906838
我在我的“rl”环境中调用了“pip install pygame”,但是在“conda list”中没有显示pygame。在调用“pip install pygame”后,我收到了新消息,因此更新了问题。 - Maybe
显示剩余3条评论
4个回答

2

原因很简单,我没有在 dl 环境中安装 Python 和 pip,而当我执行 pip install ... 命令时,conda 隐式地使用根环境中的 Python 和 pip。


0

我在使用不同的软件包时遇到过这个问题,其中有9次是由于管理多个conda环境引起的。

您可以同时激活多个conda环境。如果您从另一个环境激活一个环境,则不一定会关闭第一个环境。因此,假设您创建了myenv

(base)$ conda create myenv
(base)$ conda activate myenv
(myenv)$

你在那个环境下工作了一段时间,遇到了一些问题,然后意识到最好从头开始建立一个新的环境。如果你这样做

(myenv)$ conda create myenv2
(myenv)$ conda activate myenv2
(myenv2)$

您已激活 myenv2。但是,您并没有显式地关闭 myenv。当您停用myenv2时,您可以看到这一点。
(myenv2)$ conda deactivate
(myenv)$ 

我没有深入研究这种行为,但我知道它可能会在conda中创建pip安装问题。尝试将conda环境取消激活到基本环境,然后仅激活感兴趣的环境。至少对我来说,这解决了问题。


0

我猜你第一次运行pip install pygame时将pygame包安装到了根环境中。所以请确保你已经激活了你想要安装包的环境,然后使用pip来安装包。这样做,你应该能在conda list命令的列表中看到这些包。此外,你必须在运行pip install的同一环境中运行conda list命令。


谢谢回答。我注意到pygame已经安装在根环境中。然而,当我删除根环境中的pygame并切换到rl环境后,我运行pip install pygame,它仍然会在根环境中安装pygame。请参见问题中的更新,末尾有(rl) - Maybe

0

在遇到相同问题后,这是对我有效的解决方案: 从一个单独的终端(不是VSCode集成终端),使用我的虚拟环境:

python -m pip install pygame

重要的是不要直接调用pip(或pip3),并且显然不能从VSCode集成终端中执行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接