【问题标题】:Conda - package installing to the root environment instead of active environmentConda - 包安装到根环境而不是活动环境
【发布时间】:2017-04-03 19:55:25
【问题描述】:

我在我的 Windows 机器上使用 Conda 设置了一个环境。当我尝试安装一个包时,它不是安装到活动环境,而是安装到根环境。有什么关系。

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

【问题讨论】:

  • 您可以尝试使用conda 而不是pip 安装相同的软件包吗?
  • 您必须将 pip 安装到您要安装的环境中
  • "where pip" 的输出是什么?可能是你有一个克隆的环境吗? (我认为前段时间有一个错误)
  • where pip is 的输出:C:\Users\user\Anaconda3\Scripts\pip.exeC:\Users\user\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe
  • @MadPhysicist,我无法使用 conda 安装相同的软件包,因为据我所知,您只能使用 pip 而不是 conda 从源代码安装。

标签: python pip anaconda


【解决方案1】:

您似乎使用的是 root pip,这就是为什么您在虚拟环境中看不到任何已安装的软件包的原因。

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

  • 首先在虚拟环境中安装 pip: conda install -n science pip(现在science 环境将拥有自己的pip)。
  • 然后,将 pip 文件定位到存储 conda 环境的任何位置(对我而言,它是 .../anaconda/envs/)。
  • 现在,您可以使用本地 pip 文件安装您的软件包,类似于: .../anaconda/envs/science/bin/pip install something

问题是,除非您向 conda 指定要专门为虚拟环境安装某些东西,否则它将最终在根环境中(我不确定这是否是设计使然,但这就是发生在我的机器)。所以如果你想安装到虚拟环境:

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

【讨论】:

  • 当我们说源激活科学时;默认情况下,它应该使用本地环境中的 pip...对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 1970-01-01
  • 2020-08-18
  • 2020-05-06
  • 1970-01-01
  • 2020-08-04
  • 2016-12-10
相关资源
最近更新 更多