在(conda)virtualenv中运行pip而不首先激活它

时间:2017-12-02 21:45:51

标签: pip virtualenv conda

在标题中,我已经在conda中创建了一些env,如此

conda create -n myenv python=2.7

我想要一个命令在env中运行pip install而不首先执行source activate myenv。这可能吗?我相信我使用的任何方法都必须解决PATH等问题。

2 个答案:

答案 0 :(得分:0)

假设您在Bash shell环境中使用Anaconda,一个选项是将创建的虚拟环境的Anaconda bin路径添加到PATH变量,其顺序是虚拟环境中的pip二进制文件来在系统之前。

如果您的Anaconda虚拟环境位于主目录的默认.conda目录中,则可以按以下步骤操作:

export PATH=~/.conda/envs/myenv/bin:$PATH

如果您希望将此作为shell环境的默认行为,则可以将上述命令添加到~/.bashrc文件中。

此方法类似于设置PATH变量的方法,使您能够使用Anaconda二进制文件来使用" root"环境,detailed in the Anaconda documentation

答案 1 :(得分:0)

另一种可能对您有用的解决方案(它对我来说可以从命令行编写pip安装脚本很有用)是使用&来传送命令。例如:

conda create -n myenv python=2.7 & conda activate myenv & pip install {some packages} & conda deactivate

这在Windows计算机上对我有效,在Linux上也应以相同的方式工作。 Information regarding the & command

但是,由于设置了pip的方式,我认为没有一种方法可以首先激活环境。希望这至少有帮助!