找不到模块错误,因为路径被解释为模块



>我下载了一个具有以下一般结构的软件包:

- pkg
- runs
- __init__.py
- script.py
- data
- subdata
- __init__.py
- datascript.py

当我尝试使用 Anaconda 提示符运行script.py

C:pkg>python runs/script.py

我收到错误

Traceback (most recent call last):
File "runs/script.py", line 4, in <module>
from data.subdata import *
ModuleNotFoundError: No module named 'data.subdata'

所以很明显,Python将data.subdata解释为一个模块而不是一个路径。

我该如何解决这个问题?

在 sys.path ->sys.path.append('path_to_module')中添加路径

  • 导入语句在 sys.path 中的路径列表中搜索
  • sys.path 始终包括在 命令行,并且与命令行上的工作目录无关。
  • 导入包
  • 在概念上与导入包相同 包的初始化.py文件

阅读更多 :
https://chrisyeh96.github.io/2017/08/08/definitive-guide-python-imports.html

最新更新