【问题标题】:Module not found python找不到模块python
【发布时间】:2021-03-15 10:30:28
【问题描述】:

我有一个类似这样的层次结构:

 Assignment \
           -------__init__.py
           -------Presentation \
                  -------------__init__.py
                  -------------file1.py
           -------Business \
                  -------------__init__.py
                  -------------file2.py

我尝试在文件 2 中导入模块,例如:from Presentation.file1 import Start_window 开始窗口是一个类 与文件 2 相同,但我收到错误消息:No module named 'Presentation' 我是oo python的初学者,所以我不知道为什么它不起作用。

【问题讨论】:

  • from Assignment.Presentation.file1 也许?由于您已将 Assignment 设为主包。
  • 模块最好/通常在整个项目的解释器下导入。根据您使用的 IDE,如果 pycharm ,请转到文件、设置并从那里导入。您也可以通过 Pip install module-name 导入(在您的工作环境中的 CMD 或 shell 中)。不要忘记输入路径(尽管对于大多数 python 模块来说,99% 的时间都不需要这样做,因为我怀疑 python 在你的路径中)。
  • 您还应该提及您运行 Python 的位置。理想情况下,从Assignment 上方的一个目录运行它,否则将PYTHONPATH 环境变量设置为该目录。

标签: python python-3.x python-import


【解决方案1】:

你的问题不是你的文件夹结构,而是你如何启动 Python。

鉴于你的模块结构,如果你想启动file2,你应该ABOVEAssignment文件夹并像这样启动Python:
python3 -m Assignment.Business.file2

这将使 Python 将 AssignmentBusinessfile2 识别为模块,并允许您从中导入其他内容(相对和绝对)。

可以将所有这些模块添加到PYTHONPATH 并使用正常方式(不带-m),但我发现这更容易。

【讨论】:

    【解决方案2】:

    只需将你的模块和你的代码放在同一个文件中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2015-03-12
      • 2021-10-13
      • 2019-03-21
      • 2020-09-07
      • 2016-02-01
      • 2017-07-29
      相关资源
      最近更新 更多