目前正在使用AWS对机器学习项目进行测试。由于互联网带宽极度有限,我想在没有网络的情况下(通过root)运行Python脚本。我尝试执行convnets.py脚本:
sudo python convnets.py >> output
但是这种方法行不通,因为Anaconda不使用PYTHONPATH,这使得root无法找到Anaconda Python环境。因此会抛出"无法导入"和"模块未找到"等错误。
我该如何设置才能使Anaconda和sudo一起正常工作?
目前正在使用AWS对机器学习项目进行测试。由于互联网带宽极度有限,我想在没有网络的情况下(通过root)运行Python脚本。我尝试执行convnets.py脚本:
sudo python convnets.py >> output
但是这种方法行不通,因为Anaconda不使用PYTHONPATH,这使得root无法找到Anaconda Python环境。因此会抛出"无法导入"和"模块未找到"等错误。
我该如何设置才能使Anaconda和sudo一起正常工作?
由于使用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
python
指向的是 Anaconda 的 Python 吗?很有可能不是,因为sudo
有一个不同的PATH
。尝试使用sudo /path/to/anaconda/bin/python convnets.py
。 - Suever