安装virtualenv后,Conda env无法访问

时间:2018-03-08 07:41:16

标签: python anaconda virtualenv

我有(几乎)与这个已解决的问题完全相同的问题:

How to solve the issue of the conflict of anaconda and virtualenv?

..但我的问题是相反的。也就是说,我之前一直在使用conda环境(对于科学项目),但在开发Web项目时,我安装了virtualenv。从那时起,我的conda环境无法通过source命令访问。

以下是我的conda envs:

| => conda info --envs
# conda environments:
#
bunny                    /Users/.../anaconda/envs/bunny
root                  *  /Users/.../anaconda

发布的问题中的答案说,我应该改变我在bash_profile中的当前Anaconda路径:

export PATH=$HOME/anaconda/bin:$PATH

为:

export PATH=$PATH:$HOME/anaconda/bin

所以,通过改变这一点,我认为将此命令运行到anaconda envs文件夹将起作用:

source /Users/.../anaconda/envs/bunny/bin/activate

结果是virtualenv (env) 被激活,即使我不在我安装它的目录上,也就是:

/Users/./././WebDevelopment/DeployedProjects/./env

所以我猜这个virtrualenv“source”命令掩盖了conda“source”命令,即使没有给出绝对路径也能正常工作:

| => source activate
(env) _______________________________________
| ~ @ Pablos-MBP 
| => 

同样在我的bash_profile我没有通往virtualenv的路径(就像我为anaconda做的那样)

我如何“使用激活脚本的绝对路径”为virtualenv创建一个别名,而不是每次使用“source activate”时调用它?

任何对此的帮助都非常赞赏!

最佳,

巴勃罗

PS。作为参考,这个答案也没有做到这一点:Conda virtual environment not changing...

1 个答案:

答案 0 :(得分:0)

如果它对其他人有帮助,为了完成,我将概述我采取的步骤。

在重新安装Anaconda并失去访问我以前的virtualenv进行Web开发之后,我放弃了virtualenv并将我的Web开发工作转移到了我的Conda环境。基本上,我需要(重新)获取必要的路径。

我的步骤如下:

注意:" ..."在路径中是我在MacOS上的用户名。

  1. 创建一个名为" webdev "的新conda环境,其中包含python = 2
  2. 下载google-cloud-sdk并将整个文件夹移动(手动)到" webdev " bin文件夹如:

    /Users/.../anaconda/envs/webdev/bin/google-cloud-sdk
    
  3. cd到该文件夹​​并运行:

    ./install.sh
    
  4. 确保nano .bash_profile中的PATH已链接。在终端:

    $ cd
    
    $ nano .bash_profile
    
  5. 输入以下路径(首先应该是Anaconda的路径):

    export PATH=$HOME/anaconda/bin:$PATH
    
    export PATH=/Users/.../anaconda/envs/webdev/bin/google-cloud-sdk/completion.bash.inc:$PATH
    export PATH=/Users/.../anaconda/envs/webdev/bin/google-cloud-sdk/path.bash.inc:$PATH
    export PATH=/Users/.../anaconda/envs/webdev/bin/google-cloud-sdk/bin:$PATH
    
  6. 重新启动终端。在终端中输入两个命令:

    source /Users/.../anaconda/envs/webdev/bin/google-cloud-sdk/completion.bash.inc
    
    source /Users/.../anaconda/envs/webdev/bin/google-cloud-sdk/path.bash.inc
    
  7. 之后,此命令应该起作用:

     dev_appserver.py ./