Python从不同版本导入不同的库

2024-06-17 17:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试开发一个Python脚本,我似乎遇到了两个我想要包含的库之间的冲突。你知道吗

我拥有的第一个依赖项是pymoos(https://github.com/msis/python-moos),它是连接到通信体系结构所必需的。我已经构建了代码并手动安装了结果皮穆斯。苏在以下地方:

  • /usr/lib/python3.6/site-packages文件包/皮穆斯。苏你知道吗
  • /usr/lib64/python2.7/lib-dynload文件/皮穆斯。苏你知道吗
  • /usr/lib64/python3.6/lib-dynload文件/皮穆斯。苏你知道吗
  • /usr/local/lib/python3.7/lib-dynload文件/皮穆斯。苏你知道吗

但是,只有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导入会产生以下结果:

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

因为我知道皮穆斯。苏图书馆是,我认为我最简单的方法是把它放在正确的地方,这样它就可以与python3一起工作,但我似乎找不到正确的地方!你知道吗


Tags: 文件版本defaultlibusr地方junpython3
1条回答
网友
1楼 · 发布于 2024-06-17 17:30:33

根据我的评论:

它应该像pip install path/to/pymoos/code一样简单,但最好使用更广泛使用的数据库库,如asyncpg或psycopg。你知道吗

关于必须使用sudo,您可以考虑使用virtualenv或类似的方法为您的应用程序设置一个专用的python环境。你知道吗

相关问题 更多 >