Python использует переменную среды PYTHONPATH
, чтобы определить, в каких папках следует искать модули. Вы можете поэкспериментировать с ним, изменив sys.path
, который хорошо работает для чистых модулей Python. Но когда модуль использует общие объектные файлы или статические библиотеки, он ищет их в LD_LIBRARY_PATH
(в linux), но это не так легко изменить и, насколько мне известно, зависит от платформы.
Быстрое решение этой проблемы, конечно, состоит в том, чтобы установить переменную среды или вызвать сценарий, например LD_LIBRARY_PATH=. ./script.py
, но тогда вам придется устанавливать его снова для каждой новой оболочки, которую вы открываете. Кроме того, файлы .so
в моем случае всегда будут находиться в том же каталоге, что и файл .py
, но вполне могут быть перемещены на другой абсолютный путь, поэтому я хотел бы устанавливать их автоматически каждый раз, когда я вызываю сценарий.
Как изменить путь, по которому интерпретатор Python ищет библиотеки независимо от платформы во время выполнения?
РЕДАКТИРОВАТЬ:
Я уже пробовал os.environ['LD_LIBRARY_PATH'] = os.getcwd()
, но безуспешно.
.so
или.a
, а файлы.dll
и.lib
, и мои библиотеки так или иначе придется перекомпилировать для этого. Мне просто казалось, что быстрое и грязное решение облегчит тестирование и разработку. - person iFreilicht   schedule 23.04.2014