为什么不导入Python

16 浏览
0 Comments

为什么不导入Python

有一个应用程序结构,其中myapp是根目录,\"app\"和\"package1\"是两个平行的包:\n

myapp
  app
     __init__.py
     app.py
  package1
     __init__.py
     my_file.py
  __init__.py

\n*注意:最后一个__init__.py位于根目录\"myapp\"中。\n现在,在app.py中,如果我尝试导入 my_file.py:\n

from ..package1 import my_file as my_variable

\n然后我会得到这个错误:\n

ImportError: attempted relative import with no known parent package

\n我已经进行了研究,并在这里找到了一个可能的解决方案:\n如何解决ImportError: attempted relative import with no known parent package\n我想应用\"Solution 1\",但不明确main.py应该放在哪里以及它的内部代码是什么,或者是否相反,它可以是一个空文件,就像__init__.py一样。

0
0 Comments

为什么不导入Python?

在这个问题中,出现的原因是没有在app.py文件中包含一个run函数,并且在app.py文件中有自动运行的代码。解决方法是在app.py文件中添加一个run函数,并且在main.py文件中导入app模块并调用run函数。

具体的解决方法如下:

首先,在app.py文件中添加一个run函数,代码如下:

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

然后,确保在app.py文件中没有自动运行的代码。

接下来,将main.py文件放在与myapp文件夹同一个目录下,并在main.py文件中导入并调用app模块的run函数,代码如下:

from myapp.app import app
app.run()

这样,可以通过运行命令python main.py来执行程序。

另外,你也可以在myapp文件夹中添加一个__main__.py文件,代码如下:

from .app import app
app.run()

然后,可以通过运行命令python -m myapp来执行程序。

0