Python 未找到模块,但具有init.py
我有以下目录结构Python 未找到模块,但具有init.py,python,importerror,Python,Importerror,我有以下目录结构 Head -- |--Data |--main |-- header.py |-- __init__.py |--dir1 |-- file.py |--dir2 |--dir3 |-- __init__.py 在file.pyI导入class Header中定义的Header.py使用从Head.main.Header导入* 我已经
Head --
|--Data
|--main
|-- header.py
|-- __init__.py
|--dir1
|-- file.py
|--dir2
|--dir3
|-- __init__.py
在file.py
I导入class Header
中定义的Header.py
使用从Head.main.Header导入*
我已经准备好了所有的\uuuu init\uuuuuu.py
,但是当我运行file.py
时,我仍然得到导入错误:没有名为Head.main.header的模块
我正在使用PyCharm
我该如何解决它
运行tree
我得到:
F:\PyCharmProjects\TestDir>tree
Folder PATH listing for volume MISC
Volume serial number is 0FCE-123A
F:.
├───.idea
├───Data
│ └───small
├───Head
├───dir1
└───main
能否在file.py中包含导入代码?请同时查看此答案,它可能有您的解决方案:。那么告诉我们什么起作用了 这是因为导入尝试在tham file.py所在的同一文件夹中定位Head,首先必须在系统路径中包含Head文件夹,以便导入可以定位它。为此,请执行以下操作:
import sys,os
sys.path.append(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
把所有需要的dirname放到包含Head的文件夹中
那你的进口正常吗
它可能看起来有点难看,但优点是,如果您以后将proyect的文件夹移动到其他位置,您不必更改每个sys.path.append
是否像这样执行sys.path.append(“/folder1/folder2”)
能否使用树
或等效工具向我们展示项目的整个结构,并向我们展示setup.py
的内容?项目中没有setup.py。@AnimeshPandey您是如何解决问题的?该解决方案有效。但我很好奇\uuuu init\uuuuuy.py
有什么问题?任何地方都有这样一种说法,importorror
可以通过添加\uuuu init\uuuuuu.py
来解决??