Я пытаюсь разработать сценарий Python, и мне кажется, что я столкнулся с конфликтом между двумя библиотеками, которые я хочу включить.
Первая зависимость, которую я имею, это pymoos (https://github.com/msis/python-moos),, которое необходимо для подключения к моей архитектуре связи. Я собрал код и вручную установил результирующий файл pymoos.so в следующих местах:
- / usr / lib / python3.6/site-packages/pymoos.so
- / usr / lib64 / python2.7 / lib-dynload / pymoos.so
- / usr / lib64 / python3.6 / lib-dynload / pymoos.so
- / usr / local / lib / python3.7 / lib-dynload / pymoos.so
Однако только python2.7 позволит мне «импортировать pymoos» изинтерпретатор. Попытка любой из версий Python3 приводит к следующему:
Python 3.6.8 (default, Jun 11 2019, 15:15:01)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymoos
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define module export function (PyInit_pymoos)
Вторая зависимость - pydantic, которую мне удалось установить только с помощью pip3, очевидно, это означает, что она доступна только в любой из версийPython3, который я установил. Попытка импортировать из Python2 giВот следующее:
Python 2.7.5 (default, Jun 11 2019, 14:33:56)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pydantic
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pydantic
Так как я знаю, где находится библиотека pymoos.so, я думаю, что мой самый простой путь - это поместить его в нужное место, чтобы оно работало с python3, но я не могукажется, найти правильное место!