На одном сервере я могу импортировать библиотеку, на втором - нет. Библиотека, которую мне нужно импортировать, используется совместно через NFS и доступна обоим серверам.
Я обнаружил, что путь Python отличается между двумя серверами, но двоичный файл Python одинаков, установлен из Стандартные репозитории Ubuntu 16.04 и $PYTHONPATH
не установлены на обоих серверах.
Сервер 1:
$ echo $PYTHONPATH
$ python
>>> import sys; sys.path
['', '/usr/lib/python2.7', '...', '/usr/local/lib/python2.7/dist-packages', '/home/user/app/src/python', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/wx-3.0-gtk2']
Сервер 2:
$ echo $PYTHONPATH
$ python
>>> import sys; sys.path
['', '/usr/lib/python2.7', '...', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
Как я понимаю, где определена ли эта библиотека для репликации того же поведения на сервер 2?
Любопытно, что библиотека расположена между путями /usr/local/lib
и /usr/lib
.
Редактировать: Двоичный файл python такой же (та же версия 2.7.12, и контрольные суммы совпадают), и он устанавливается из репозиториев Ubuntu в стандартном месте /usr/bin/python
.
Я играл с библиотекой site
и всеми переменные одинаковы (site.ENABLE_USER_SITE
возвращает True).
Я знаю, что могу манипулировать путями внутри скрипта или указать PYTHONPATH
в /etc/profile.d/ для всех серверов, но я хотел бы знать где разница.