如何 运行 Anaconda Python on sudo
How to run Anaconda Python on sudo
目前正在使用 AWS 运行 对机器学习项目进行一些测试。我想 运行 Python 没有互联网的脚本(通过 root),因为互联网带宽非常有限。我尝试 运行 convnets.py 脚本
sudo python convnets.py >> output
但这不起作用,因为 Anaconda 不使用 PYTHONPATH,因此 root 无法找到 Anaconda Python 环境。因此会抛出 "cannot import" 和 "module not found" 之类的错误。
我该如何设置才能让 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
目前正在使用 AWS 运行 对机器学习项目进行一些测试。我想 运行 Python 没有互联网的脚本(通过 root),因为互联网带宽非常有限。我尝试 运行 convnets.py 脚本
sudo python convnets.py >> output
但这不起作用,因为 Anaconda 不使用 PYTHONPATH,因此 root 无法找到 Anaconda Python 环境。因此会抛出 "cannot import" 和 "module not found" 之类的错误。
我该如何设置才能让 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