2016-04-16 2 views
0

В настоящее время используется AWS для запуска некоторых тестов по проекту машинного обучения. Я хотел бы запускать скрипты Python без Интернета (через root), потому что пропускная способность Интернета крайне ограничена. Я пытаюсь запустить скрипт convnets.py делаяКак запустить Anaconda Python на sudo

sudo python convnets.py >> output 

Но это не работает, так как Anaconda не использует PYTHONPATH, что делает невозможным корень, чтобы найти среду Anaconda Python. Так что такие ошибки, как «невозможно импортировать» и «модуль не найден», выбрасываются.

Как мне настроить это, чтобы я мог получить Anaconda и sudo, чтобы играть честно вместе?

+0

Вы уверены, что 'python' указывает на питона Anaconda в ? Скорее всего, это не так, поскольку 'sudo' имеет другую' PATH'. Попробуйте 'sudo/path/to/anaconda/bin/python convnets.py' – Suever

ответ

2

Поскольку использование sudo использует различный PATH, чем в вашей обычной среде, вы должны обязательно указать, что хотите использовать интерпретатор python Anaconda, а не системный python. Вы можете проверить, какой из них в настоящее время работают с помощью следующей команды

sudo which python 

Чтобы это исправить, и указать на интерпретатор питона Anaconda, задайте полный путь к правильному переводчику.

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

Отлично, это сработало! Спасибо, любите, когда решение так просто :) – emilywhou