python – Conda – 包安装到根环境而不是活动环境

我使用Conda在我的Windows机器上设置了一个环境.当我尝试安装软件包时,它不是安装到活动环境,而是安装到根环境.这是怎么回事.

(science) C:\Users\user>conda info --envs
# conda environments:
#
science                *  C:\Users\user\Anaconda3\envs\science
root                      C:\Users\user\Anaconda3

我在我的科学环境中很活跃,我尝试使用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列表,则表明它已安装到根环境中.这不是理想的行为.

(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也在第一个环境中.就像这些环境没有做到他们应该做的那样.

最佳答案
您似乎正在使用root pip,这就是您在虚拟环境中看不到任何已安装软件包的原因.

要使用特定于虚拟环境的点:

>首先在虚拟环境中安装pip:
conda install -n science pip(现在科学环境将有自己的点子).
>然后,在存储conda环境的任何地方找到该pip文件(对我来说是… / anaconda / envs /).
>现在,您可以使用该本地pip文件安装您的软件包:
… / anaconda / envs / science / bin / pip安装一些东西.

问题是,除非你指定你想要专门为虚拟环境安装一些东西,它将最终在根env中(我不确定这是否是设计,但这是我的机器上发生的事情) .所以如果你想安装到虚拟环境:

> conda install -n env_name package_name如果它是conda安装.
> … / anaconda / envs / science / bin / pip如果是pip安装就安装一些东西.

转载注明原文:python – Conda – 包安装到根环境而不是活动环境 - 代码日志