[英]python import not working from one module to another
您的目录结构对我来说有点可疑。 通常, alembic.ini
不应该是软件包的一部分(默认情况下,setuptools在打包时不会将其拾取)。 我认为最好将其放在项目根目录中。
像这样的东西会更标准:
├── alembic.ini ├── migrations │ ├── env.py │ ├── script.py.mako │ └── versions │ └── ... ├── package_name │ └── database │ ├── __init__.py │ └── ... │ └── models │ └── __init__.py │ └── ... ├── README.md └── setup.py └── ...
现在,仅此一项将无法使database
可从env.py
。 为此,您必须以某种方式使您的包可发现。 通常,这可以通过将package_name
安装到某些virtualenv中来完成。 在那种环境下,您可以在env.py
使用from package_name.database import *
。
迁移需要知道从何处导入,它们要么属于同一软件包:
A:
迁移
数据库
初始化 .py
然后在迁移中:
从A.database.whatever导入其他任何东西
或者,您将它们作为软件包单独安装在您的virtualenv中:然后它们彼此依赖,但是由于已安装它们,因此可以调用它们:
database / setup.py迁移/setup.py
然后都安装了,并且migrations / env.py可以调用已安装的软件包数据库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.