当前位置: 首页 > 知识库问答 >
问题:

为什么不导入Python[重复]

李星辰
2023-03-14

有这样一个应用程序结构,其中myapp是根目录,“app”和“package1”是两个并行包:

myapp

  app
     __init__.py
     app.py

  package1
     __init__.py
     my_file.py
 
  __init__.py

*注意:最后一个__init__.py位于根目录“myapp”中

from ..package1 import my_file as my_variable
ImportError: attempted relative import with no known parent package

如何解决ImporDerror:尝试在没有已知父包的情况下进行相对导入

我想应用“解决方案1”,但不明白我应该把main.py放在哪里,它的内部代码是什么,或者相反,它可能是像__init__.py这样的空文件

共有1个答案

涂羽
2023-03-14

app.py中应该有run函数:

def run():
    # .... You code that should run as app

app.py中不应该有自动运行的代码

main.py应与myapp位于同一文件夹中:

myapp
  app
     __init__.py
     app.py

  package1
     __init__.py
     my_file.py

  __init__.py
main.py
from myapp.app import app

app.run()
myapp
  app
     __init__.py
     app.py

  package1
     __init__.py
     my_file.py

  __init__.py
  __main__.py
from .app import app

app.run()

您可以像这样运行它python-m myapp

 类似资料:
  • 问题内容: 建议不要中使用。 可以分享原因,以便下次避免这样做吗? 问题答案: 因为它将很多东西放到你的命名空间中(可能会遮盖以前导入的其他对象,你对此一无所知)。 因为你不完全知道要导入的内容,而且不容易找到从哪个模块导入的特定内容(可读性)。 因为你不能使用像静态检测代码中的错误之类的出色工具。

  • 我试图导入PyAudio,但它总是给我一个错误。如果我的电脑有问题,我使用的是Windows64x和Python3.9.4。以下是错误:

  • OS- Neon Linux我有以下命令行输出: 请告诉我,为什么PyCharm不能导入模块?

  • 我正在写一个简单的游戏在Eclipse(Java),它需要一些图像。它在Eclicpse中工作正常,但是当我导出它(作为一个可运行的罐子)时,没有图像(只是空的地方而不是它们)。我在项目中有一个名为“图像”的源文件夹,我以这种方式添加图像:“图像/name.png”。图像直接导出到罐子中。我已经尝试将图像文件夹放在资源文件夹中,仍然不起作用。我还把图像放在罐子的不同地方,不起作用。如何使Eclip

  • 我第一次尝试将OpenCV用于Python 3。要安装,我只需在终端中键入“pip3安装opencv-python”。当我这样做时,我在Finder(我在Mac上)中看到,在 /usr/local/lib/python3.7/site-packages,我现在有一个名为“cv2”的新文件夹。这很奇怪。为什么不是cv3,就像我用pip3一样?我不知道。 当我尝试从python3导入cv2时,它说“没