Я работаю в многопользовательской среде и относительно плохо знаком с Python. Эти машины работают под управлением Ubuntu 16.04, и мы используем Python 2.7. Я лично установил несколько дополнительных модулей, таких как tennflow, keras и некоторые другие связанные модули, и я полагаю, что я использовал установщик pip (pip 18.0 из /usr/local/lib/python2.7/), чтобы установить их (sudo pip install X)

Я успешно запускал скрипты Python в течение нескольких месяцев, используя все эти модули, но другой пользователь не смог запустить любой код Python, который использует любой из модулей, которые я установил. Даже 1-строчный скрипт, который существует только для импорта модуля, такого как:

import tensorflow

не запускается, генерируя ImportError (я вставлю только последние пару строк):

File "/usr/local/lib/python2.7/dist- 
 packages/tensorflow/python/ops/variable_scope.py", line 24, in <module>
import enum  # pylint: disable=g-bad-import-order
ImportError: No module named enum

Что я сделал не так, что сделал эти модули невидимыми для других пользователей, и как я могу это исправить?

1 ответ1

0

Я настоятельно рекомендую избегать использования python-pip в производственном контексте. Модули, установленные таким образом, не обновляются при обновлении системы, что может привести к уязвимостям, которые никогда не будут исправлены ....

Тем не менее, pip по умолчанию устанавливает модуль только при вызове $ HOME пользователя. Чтобы pip мог установить «общесистемный», используйте ключ --system .

Для более подробной информации смотрите pip install --help output

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .