conda、pip 和 virtualenv 的依赖问题

Dependency issue with conda, pip and virtualenv

我正在使用 conda(anaconda 2)。在安装anaconda之前,我的Ubuntu16.04已经安装了pip。我最近使用 pip install virtualenv 安装了 virtualenv。我尝试在我的虚拟环境中安装 coala 时执行了以下步骤。

  1. 使用 virtualenv venv
  2. 创建新的虚拟环境
  3. 使用 source activate path/to/activate
  4. 激活环境
  5. 克隆 coala 存储库。
  6. 运行 pip3 install -e . 在存储库中

在这一切之后,我从 coala 得到以下错误:

 There is a conflict in the version of a dependency you have installed and the requirements of coala. This may be resolved by creating a separate virtual environment for coala or running `pip install "yapf~=0.14.0"`. Be aware that the latter solution might break other python packages that depend on the currently installed version.

我已经在 virtualenv,所以我尝试按照命令安装 yapfpip install "yapf~=0.14.0"。之后,当我检查我的pip list时,它仍然显示yapf (0.15.2),为了解决这个问题,我做了:

  1. pip uninstall yapf
  2. pip install "yapf~=0.14.0"

现在,当我检查 pip list 时,我得到了想要的结果。但是,错误仍然存​​在。它仍然显示相同的依赖错误。我无法理解发生了什么? pip 正在安装什么和在哪里,conda 在幕后做什么,virtualenvconda 的行为如何,最重要的是,为什么会出现此错误以及如何解决解决了吗?

首先创建一个属于 python3.x

的 virtualenv

模板

virtualenv -p {location of python3 version } {name of virtualenv folder}

像这样

virtualenv -p /usr/local/bin/python3 venv

然后激活它

source venv/bin/activate

然后 运行

pip install {你要使用的库}

pip install "yapf~=0.14.0"

这应该将 yapf 安装到 venv 文件夹中。

试着让我们知道。

回答我自己的问题时,我发现 condavirtualenv 并不齐头并进。 condas 可以创建自己的虚拟环境,如果使用 condas,我们必须创建一个 conda 虚拟环境(参见 this 回答)。

我所做的是卸载 conda 并使用 virtualenv 创建虚拟环境。我也可以做的是卸载 virtualenv 并创建 condas 环境并在其中工作。