Как повторно использовать модули в установках Python? - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь импортировать модуль python (2.7.5), но я не уверен, правильно ли я это делаю. Я обычно работаю в Jupyter Notebook (в отдельном окружении Conda), чтобы держать вещи организованными для каждого проекта. Сейчас я пытаюсь импортировать модуль с именем otbApplication, который является привязкой Python для ГИС-программы под названием Orfeo Toolbox. Дело в том, что Orfeo Toolbox (вместе с QGIS) поставляется с собственной установкой Python (и последующими путями) и даже с собственной подсказкой CMD (при условии, что вы используете OSGEO4W). Если я использую это приглашение CMD, чтобы запустить Python и импортировать otbApplication, он работает нормально. Но я хочу установить больше пакетов и просто работать в моем собственном «обычном» окружении (Jupyter Notebook) в этом случае.

Как обычно использовать модули между установками Python?

Я уже пытался поместить txt-файл .pth, содержащий путь к модулю, в одно из расположений sys.path другой установки Python, но он даже не нашел его. Я попытался заставить его разместить ноутбук (с той же установкой Python) в той же папке, что и модуль, а затем импортировать его. Я получил следующую ошибку, которая заставляет меня задаться вопросом, если я иду в этом неправильный путь:

Python 2.7.5 |Continuum Analytics, Inc.| (default, Jul  1 2013, 12:37:52) 
[MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import otbApplication
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "otbApplication.py", line 28, in <module>
_otbApplication = swig_import_helper()
File "otbApplication.py", line 24, in swig_import_helper
_mod = imp.load_module('_otbApplication', fp, pathname, description)
ImportError: DLL load failed: The specified module could not be found.

Это означает, что принудительное использование тех же путей к моей новой установке недостаточно, что я пропускаю? Извиняюсь за длинную историю (или за вероятное разделение некоторых терминов).

С уважением,

Jasper

1 Ответ

0 голосов
/ 11 мая 2018

Вы получили правильное представление о файле .pth, но для того, чтобы он заработал, вам нужно проверить некоторые предварительные условия.Очевидно, что синтаксис должен быть хорошим (просто укажите расположение каталогов, разделенных переносами строк).Распространенной проблемой является то, что люди не помещают файлы .pth в правильный каталог (обычно не обязательно \ Lib \ site-packages).Могу поспорить, что если вы проверите их, все будет в порядке.

** Также: как отмечено в комментариях, имейте в виду, что 32-битному питону не понравится 64-битная DLL и verse-visaпоэтому убедитесь, что вы используете правильную версию python, когда пытаетесь получить доступ к этим библиотекам.

...