如何在 sudo 上运行 Anaconda Python

问题描述 投票:0回答:2

目前正在使用 AWS 对机器学习项目运行一些测试。我想在没有互联网的情况下运行Python脚本(通过root),因为互联网带宽极其有限。我尝试通过以下方式运行 convnets.py 脚本

sudo python convnets.py >> output

但这不起作用,因为 Anaconda 不使用 PYTHONPATH,导致 root 无法找到 Anaconda Python 环境。因此会抛出“无法导入”和“找不到模块”等错误。

我该如何设置才能让 Anaconda 和 sudo 一起公平竞争?

python amazon-web-services root anaconda sudo
2个回答
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

0
投票

如果您的 conda 环境当前处于活动状态:

sudo $(which python) [REST OF COMMAND]

您的情况:

sudo $(which python) convnets.py >> output
© www.soinside.com 2019 - 2024. All rights reserved.