允许在conda env中使用系统python?

时间:2015-04-26 00:30:04

标签: python conda package-management

有没有办法强制conda在给定的env中使用python的系统版本(以及所有系统库)?

我的shell中默认启用了conda,这可能会有点烦人,因为如果我尝试运行系统python应用程序,它会得到一个不同版本的python到它预期的内容(python仍默认为2.7 on * buntu),往往不会运行。我希望conda的root env只是重定向到系统python install。

2 个答案:

答案 0 :(得分:1)

您需要编辑所有用户shell运行命令(例如.bashrc文件)以将anaconda的bin目录添加到路径package rpc; message rpc_request { enum RpcType {GET = 0; SET = 1; QUIT = 2; } required RpcType type = 1; required string name = 2; optional string value = 3; } message rpc_reply { optional string value = 3; } ,而在根运行命令中添加export PATH=~/anaconda/bin:$PATH。在这两种情况下,您都可以访问export PATH=$PATH:~/anaconda/bin命令。您可以通过键入conda来检查将运行哪个python。您还可以使用$env python --version检查哪些其他版本可用以及它们的优先顺序(如果另一个被删除)。当然,确保您的可执行python文件具有$type -a python,而不是其他一些指向python可执行文件的直接路由。有关详细信息,Google BASH Shell会查找http://www.cyberciti.biz/tips/an-example-how-shell-understand-which-program-to-run-part-ii.html等查询。

答案 1 :(得分:1)

只需从python删除~/miniconda3/bin/符号链接即可完成此任务。

$ which python           
/home/naught101/miniconda3/bin/python
$ rm /home/naught101/miniconda3/bin/python
$ which python                            
/usr/bin/python
$ source activate science                 
discarding /home/naught101/miniconda3/bin from PATH
prepending /home/naught101/miniconda3/envs/science/bin to PATH
(science)$ which python           
/home/naught101/miniconda3/envs/science/bin/python
(science)$ source deactivate                       
discarding /home/naught101/miniconda3/envs/science/bin from PATH
$ which python     
/usr/bin/python

到目前为止,这似乎并没有给我带来任何问题。不幸的是,这对~/miniconda/bin/python3不起作用,因为conda在切换到使用相同python版本的其他env时需要它。但是,那个问题首先没有造成太多问题。

如果 导致问题,那么只需cd ~/miniconda/bin/; ln -s python3 python(或者你在conda root env中使用的任何版本的python)就可以轻松撤消。您可能需要激活/停用env才能在PATH上恢复该版本的python。