如何在sudo下运行Anaconda Python

12

目前正在使用AWS对机器学习项目进行测试。由于互联网带宽极度有限,我想在没有网络的情况下(通过root)运行Python脚本。我尝试执行convnets.py脚本:

sudo python convnets.py >> output

但是这种方法行不通,因为Anaconda不使用PYTHONPATH,这使得root无法找到Anaconda Python环境。因此会抛出"无法导入"和"模块未找到"等错误。

我该如何设置才能使Anaconda和sudo一起正常工作?


你确定 python 指向的是 Anaconda 的 Python 吗?很有可能不是,因为 sudo 有一个不同的 PATH。尝试使用 sudo /path/to/anaconda/bin/python convnets.py - Suever
1个回答

21

由于使用sudo命令会使用不同于你通常环境下的PATH,所以你需要确保明确指定要使用Anaconda的Python解释器而不是系统自带的Python。你可以使用以下命令查看正在运行哪个版本:

sudo which python
要解决这个问题并指向Anaconda的Python解释器,请指定正确解释器的完整路径。
sudo /path/to/anaconda/bin/python convnets.py >> output

如果您这样做,您应该能够访问由Anaconda管理的所有模块。

另一方面,如果您已经创建了Anaconda环境

conda create --name $ENVIRONMENT_NAME python

在运行命令之前,您可以激活它

sudo source activate $ENVIRONMENT_NAME && python convnets.py >> output

1
太好了,这个方法可行!谢谢,当解决方案如此简单时真是太好了 :) - emilywhou
1
@d4tm4x,这对我有效。 - jtb

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