繁体   English   中英

Python Flask中的相对导入似乎不起作用

[英]Relative imports in Python Flask don't seem to work

我的Flask项目具有以下目录结构

├── API
│   ├── __init__.py
│   ├── controllers.py
│   ├── models.py
│   └── test
│       ├── first_test.py
│       
├── config.py
├── requirements.txt
├── run.py
└── setup.py

我的setup.py如下所示:

from setuptools import setup

    setup(
        name='project_name',
        packages=['API'],
        include_package_data=True
    )

我担心如何将modelsapp (__init__)导入测试文件( first_test.py )。

所以,到目前为止,我已经尝试过

from project_name.API import app

gives from project_name.API import app
E   ImportError: No module named project_name.API

from ..API import app
from ..API import app
E   ValueError: Attempted relative import in non-package

from .. import app
from .. import app
E   ValueError: Attempted relative import in non-package

我不知道如何导入文件。 另外,我使用py.test API/test/first_test.py运行测试文件

一种解决方案是在项目的根目录下创建一个setup.py文件。

然后,您可以使用pip安装您的应用

pip install --editable .

这样,您可以从first_test.py文件导入应用程序。

from API import app

当然,最后一个import语句取决于app对象的位置。

有关更多信息,请参见烧瓶回购中的minitwit示例。

minitwit

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM