小编far*_*han的帖子

__init__.py 是否必须在 python 应用程序的每个目录中?

__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)

python import flask python-2.7

5
推荐指数
1
解决办法
2942
查看次数

标签 统计

flask ×1

import ×1

python ×1

python-2.7 ×1