Модули, кажется, не установлены при запуске Python через SSH - PullRequest
1 голос
/ 09 июня 2019

Я подключаюсь к удаленному серверу через

ssh user@server.com

и запускаю

python script.py

в соответствующем каталоге.Однако я получаю сообщение об ошибке

ImportError: No module named numpy

, хотя я знаю, что модуль установлен, и сценарий запускается без проблем, когда я физически вошел на этот сервер.

Ни один из ответов, которые мне удалось найти, не сработал (например, это и это ).У вас есть какие-либо идеи относительно того, как я могу запустить скрипт с помощью ssh?

На удаленном сервере установлен Python 2.6.6, и

which python

возвращает

/usr/bin/python

Пульт обслуживает работает CentOS.

1 Ответ

0 голосов
/ 09 июня 2019

См. Аналогичную проблему, описанную здесь: Почему удаленная команда SSH получает меньше переменных среды, чем при запуске вручную? .

Сравните ваши переменные среды в локальном (физическом) режиме с удаленным режимом, запустив env в обоих случаях. Переместите отсутствующие переменные из вашего локального профиля в / etc / profile. Затем выйдите из сеанса ssh и снова подключитесь.

Другой подход: если вы не хотите ничего менять, то после ssh переключитесь на вашего пользователя через su - <your user>. Это может выглядеть странно, потому что вы уже вошли в систему с этим пользователем. Разница в том, что после su все ваши env. переменные будут установлены как в локальном (физическом) режиме. Преимущество: это быстро. Недостаток: вам придется делать это каждый раз, когда вы хотите запустить свой скрипт на Python. Поэтому первый подход с настройкой / etc / profile может быть лучше в долгосрочной перспективе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...