【发布时间】:2021-06-27 11:44:10
【问题描述】:
我知道这个问题被问了很多,我也阅读了几十篇关于这个问题的博客,但肯定有我遗漏的东西。
我的理解是使用sys.path 方法不是pythonic,所以我试图以最好的方式做到这一点。
我有一个具有以下文件结构的应用程序:
application
├── db
│ └── db_setup.py
│ └── read_db.py
│ └── write_db.py
│ └── database.db
│
├── server
| └── server1.py
| └── server1.py
|
├── web
└── #contains all the files for a React web app
其中一台服务器负责处理数据库请求,因此它需要访问读写 python 文件。
我在 server1.py 中尝试了以下各项:
from db import read_dbimport dbfrom db import read_dbfrom db.read_db import *
我尝试在 db 和 server 文件夹中包含一个 __init__.py 文件(在两者中,并且在一个但不是另一个中)以及使用点语法(例如 from .db import read_db)进行相对导入。
我总是会遇到以下错误之一:
attempted relative import with no known parent package 或 no module named
我唯一能想到的是,不可能在这样的应用程序中定义可以导入到同一应用程序中的其他应用程序的模块或包......但这听起来不对。
【问题讨论】:
标签: python-3.x import module package