2017-04-03 24 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安裝。