我使用Conda在我的Windows机器上设置了一个环境。当我尝试安装软件包时,它不是安装到活动环境,而是安装到根环境。这是什么交易。
(science) C:\Users\user>conda info --envs
# conda environments:
#
science * C:\Users\user\Anaconda3\envs\science
root C:\Users\user\Anaconda3
我在science
环境中处于活动状态,我尝试使用pip安装软件包。
pip install git+https://github.com/peplin/pygatt
但是当我在活动环境中列出已安装的软件包时:
(science) C:\Users\user>conda list
# packages in environment at C:\Users\user\Anaconda3\envs\science:
#
没有。如果我停用我的环境并再次尝试conda list
,则会显示它已安装到根环境中。这不是理想的行为。
(science) C:\Users\user>deactivate
C:\Users\user>conda list
# packages in environment at C:\Users\user\Anaconda3:
#
_license 1.1 py36_1
alabaster 0.7.9 py36_0
anaconda 4.3.1 np111py36_0
...
pygatt 3.1.1 <pip>
...
我做错了什么?
我尝试创建第二个环境。如果我将pygatt安装到第二个环境,然后交换到第一个环境并尝试pip list
,那么pygatt也在第一个环境中。就像这些环境没有做到他们应该做的那样。
答案 0 :(得分:6)
您似乎正在使用根pip
,这就是您在虚拟环境中看不到任何已安装软件包的原因。
使用特定于虚拟环境的点:
conda install -n science pip
(现在science
环境将拥有自己的pip
)。pip
文件(对我来说是.../anaconda/envs/
)。 pip
文件安装您的软件包:
.../anaconda/envs/science/bin/pip install something
。 问题是,除非你指定你想要专门为虚拟环境安装一些东西,它将最终在根env中(我不确定这是否是设计的,但这是发生在我的机器)。所以,如果你想安装到虚拟环境:
conda install -n env_name package_name
如果是conda
安装。.../anaconda/envs/science/bin/pip install something
如果是pip
安装。