在虚拟环境中安装Anaconda

37

我目前在我的机器上已经安装了Enthought Python Distribution ,我不想打扰这个工作正常的安装,但是我想把它迁移到Continuum公司的Anaconda

我可以很容易地将Anaconda安装到我创建的虚拟环境目录中,但我不确定如何告诉该虚拟环境使用Anaconda版本的Python。如果我要让整个系统使用它,我可以像这样通过更改.bash_profile来设置:export PATH="/DIRECTORIES/anaconda/bin:$PATH。那么在虚拟环境中有没有一种方法可以做到这一点呢?

2个回答

36

我刚刚测试了来自http://continuum.io/downloads的Anaconda 1.6安装程序。

下载后,我进行了以下操作:

bash Anaconda-1.6.0-Linux-x86_64.sh
如果您使用默认设置,则最终会在您的主目录中得到一个名为anaconda的目录,完全与您的EPD或系统Python安装分开。
要激活anaconda安装的默认环境,请执行以下操作:
source $HOME/anaconda/bin/activate ~/anaconda

现在所有的Python命令都将来自于默认的Anaconda环境,该环境位于$HOME/anaconda,它本身是一种虚拟环境。你可以使用conda create -n myenv1 ipython scipy创建子环境,但这并不是必需的。

另外一点需要注意的是,你也可以使用pip(也在$HOME/anaconda/bin中)将PyPI包安装到Anaconda的默认环境中(默认已经安装了pip),或者任何一个子环境(在这种情况下,你应该先使用conda install -n myenv1 pip在子环境中安装pip)。

虽然有可能手动将Anaconda的某些部分安装到现有的虚拟环境中,但使用他们的安装程序无疑是最简单的方法,既不会影响到你现有的Python安装,又可以进行测试和使用。


3
顺带一提,版本1.6破坏了这个功能,会产生“未指定环境”的错误。可以通过在激活后提供一个环境来解决此问题,包括一个通用的“source $home/anaconda/bin/activate ~/anaconda”。 - Fomite
谢谢您的评论!我刚刚更新了我的答案。巧合的是,几天前我在制作Python教程视频时也发现了这个问题:http://www.youtube.com/watch?v=NwyIuWK80gQ&feature=share&list=UUaSstndBFlz3J8quggQ8APw :) - Charl Botha
在CentOS上使用root,更改.bashrc文件是否会破坏系统的Python,从而影响像yum这样依赖于旧版本Python的东西? - KLDavenport
root的.bashrc仅影响root账户,就像任何其他用户的.bashrc只影响该用户账户一样。 - Charl Botha
对于Anaconda3 5.2.0,在执行了source activate命令之后,~/anaconda不再是必需的。 - Carmine Tambascia

5

创建虚拟环境时使用-p标志,指定要使用的Python可执行文件路径:

virtualenv -p /path/to/python-anaconda-version

4
在OsX上(至少在osx 10.10.5,anaconda3 2.4.1),这行不通:virtualenv不喜欢anaconda的python可执行文件(关于sys.prefix意外的问题)。 - drevicko
2
在Ubuntu 16.04上,anaconda3 3.4也存在同样的问题。我遇到了关于sys.prefix的错误。然而,在Windows 10上没有出现任何错误。 - user2918461

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接