为什么Python无法找到这个共享对象进行相对导入,尽管它在同一文件夹中存在?
我有一个文件叫 __init__.py
,里面有以下的导入:
from ._nms import lib as _lib, ffi as _ffi
其中 _nms.so
是和这个 Python 文件在同一个文件夹里的一个共享对象。
相关的文件结构如下(你也可以查看 这个 仓库,这是这个项目的克隆版):
├───nms
│ │
│ ├───_ext
│ │ │ __init__.py
│ │ │
│ │ ├───nms
│ │ │ │ _nms.so
│ │ │ │ __init__.py
从上面文件结构中第一个 nms 文件夹的父文件夹运行 main.py 脚本时,出现了这个错误:
Traceback (most recent call last):
File "main.py", line 43, in <module>
import model as modellib
File "C:\proj\model.py", line 26, in <module>
from nms.nms_wrapper import nms
File "C:\proj\nms\nms_wrapper.py", line 11, in <module>
from nms.pth_nms import pth_nms
File "C:\proj\nms\pth_nms.py", line 2, in <module>
from ._ext import nms
File "C:\proj\nms\_ext\nms\__init__.py", line 2, in <module>
from ._nms import lib as _lib, ffi as _ffi
ModuleNotFoundError: No module named 'nms._ext.nms._nms'
我尝试过更改共享对象的名称和导入方式,担心可能是因为“过度使用” nms 这个名字导致的问题,但都没有效果。希望能得到一些帮助。我还想补充一下,我是在 Windows 10 机器上运行这个程序,并且(值得注意的是)我不得不将一些库降级,比如 pytorch(降级到 0.4.1),因为原始仓库没有维护。谢谢你的帮助!
0 个回答
暂无回答