【问题标题】:"no module named..." when running this python code运行此python代码时“没有名为...的模块”
【发布时间】:2016-09-26 21:24:52
【问题描述】:

我不知道是什么导致了这个错误,这是我能得到的最简单的方法,但是 SO 暗示我的问题不符合他们的质量标准,所以我必须发布这个更长的介绍。

#===
# my_script.py
import myModule

#===
# myModule\__init__.py
import sys
from my_def import *

class MyModule:
  def __init__(self):
    pass

#===
# myModule\my_def.py
def my_def():
  pass

Traceback (most recent call last):
  File "my_script.py", line 1, in <module>
    import myModule
  File "D:\test\myModule\__init__.py", line 2, in <module>
    from my_def import *
ImportError: No module named 'my_def'

【问题讨论】:

  • 你不是在几分钟前问过这个确切的问题吗? Yes,你的改进也不是很大;这不仅需要较长的介绍,而且还需要解释问题。
  • 确保您的PYTHONPATH 包含您的模块的路径。

标签: python python-module


【解决方案1】:

__init__.py 中,在my_def 之前添加.. 意味着它应该在与脚本本身相同的文件夹中查找文件,而不是相对于 my_script.py

from .my_def import *

【讨论】:

    【解决方案2】:

    你可以试试这个:

    sys.path.append("path_of_script")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-16
      • 2019-01-26
      • 2015-07-12
      • 2014-08-30
      • 2019-09-11
      • 2016-04-06
      • 2015-01-22
      • 1970-01-01
      相关资源
      最近更新 更多