__init__.py用于将磁盘上的目录标记为 Python 包目录。假设我们有文件
py/src/__init__.py
py/src/user.py
Run Code Online (Sandbox Code Playgroud)
并且 py 在您的路径上,您可以将 user.py 中的代码导入为:
import src.module
Run Code Online (Sandbox Code Playgroud)
或者
from src import user
Run Code Online (Sandbox Code Playgroud)
如果我们删除该__init__.py文件,Python 将不再在该目录中查找子模块,因此尝试导入模块将失败。
但在我的应用程序上__init__.py不起作用。
__init__ .py
__all__ = ['models', 'common']
from src.models.user import User
from src.models.post import Post
from src.models.blog import Blog
Run Code Online (Sandbox Code Playgroud)
当我运行 python app.py
错误:
Traceback (most recent call last):
File "src/app.py", line 5, in <module>
from src.models.user import User
ModuleNotFoundError: No module named 'src'
Run Code Online (Sandbox Code Playgroud)
应用程序.py文件:
import os
import sys
from flask import Flask, render_template, request, session
from …Run Code Online (Sandbox Code Playgroud)