2017-04-03 25 views
0

我已经建立了使用康达我的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

你可以尝试使用'conda',而不是'pip'安装相同的包? – MadPhysicist

+0

您必须将pip安装到您想要安装的环境中 – darthbith

+0

“where pip”的输出是什么?而且可能是因为你有一个克隆的环境? (我认为有一个bug前一段时间) – lib

回答

3

看来你正在使用的根pip,这就是为什么你看不到任何已安装的软件包你的虚拟环境中。

使用PIP具体到虚拟环境:

  • 第一虚拟ENV安装PIP: conda install -n science pip(现science环境将有自己的pip)。
  • 然后,找到pip无论文件存储在您的畅达环境(对我来说这.../anaconda/envs/)。现在
  • ,您可以使用您的安装包线沿线的地方pip文件的内容: .../anaconda/envs/science/bin/pip install something

事情是,除非你指定conda,你想特别安装一些虚拟的env,它将在根env中结束(我不确定这是否是设计,但这是我的机器上发生了什么)。所以,如果你要安装到虚拟ENV:

  • conda install -n env_name package_name如果它是一个conda安装。
  • .../anaconda/envs/science/bin/pip install something如果它是一个pip安装。