目前正在使用 AWS 对机器学习项目运行一些测试。我想在没有互联网的情况下运行Python脚本(通过root),因为互联网带宽极其有限。我尝试通过以下方式运行 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
如果您的 conda 环境当前处于活动状态:
sudo $(which python) [REST OF COMMAND]
您的情况:
sudo $(which python) convnets.py >> output