代码之家  ›  专栏  ›  技术社区  ›  Oblomov

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

  •  0
  • Oblomov  · 技术社区  · 6 年前

    我下载了一个具有以下总体结构的包:

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

    当我试图逃跑时 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 作为模块而不是路径。

    我该怎么解决?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Roushan    6 年前

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

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

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