无法导入模块python import

2024-10-02 20:35:12 发布

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

我有一个具有此结构的项目(仅显示受影响的项目):

main.py # starting script
/app
  |__init__.py
  |/exceptions
    | __init__.py # content: from .ex400 import *
    | base.py
    | ex400.py # content: some classes extending classes from base.py
  |/extend
    | __init__.py # empty
    | module.py

/app/extend/module.py,我尝试从/app/exceptions/ex400.py导入类。我从主要进口模块.py你知道吗

你知道吗模块.py你知道吗

# I added this to check the path, output is below
import sys
print 'Working directory =>', sys.path

from app.exceptions.ex400 import SomeClass, MoreClass

# ... some code here ofcourse

跑步时,我会得到一个ImportError。你知道吗

Working directory => ['/prj/myproject', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

...
File "/prj/myproject/app/extend/module.py", line 5, in <module>
   from app.exceptions.ex400 import SomeClass, MoreClass
ImportError: No module named exceptions.ex400

我是不是漏了什么?你知道吗


Tags: 项目frompyimportappbaseinitlib
1条回答
网友
1楼 · 发布于 2024-10-02 20:35:12

是的,你遗漏了什么。它只是一个小东西,但是用Python导入是一件痛苦的事。例如,您的app文件夹中没有__init__.py。那会解决你的问题。顺便说一下,为了避免对名称空间等产生混淆,我只需将exceptions文件夹中的__init__.py留空。你知道吗

干杯

相关问题 更多 >