Python 如何将应用程序文件导入不同目录下的测试文件
如果我做错了,我深表歉意,但我对python还很陌生,不能很好地理解问题所在!我有一个简单的Flask应用程序,我正在尝试使用pytest为其编写测试。文件结构如下所示:Python 如何将应用程序文件导入不同目录下的测试文件,python,python-3.x,flask,pytest,Python,Python 3.x,Flask,Pytest,如果我做错了,我深表歉意,但我对python还很陌生,不能很好地理解问题所在!我有一个简单的Flask应用程序,我正在尝试使用pytest为其编写测试。文件结构如下所示: │── app.py |── tests │ ├── tests_app.py 我最初将app.py和tests_app.py放在同一个级别,测试通过后一切正常,但现在我将测试放在了它们自己的文件夹中,我无法再导入应用程序而不会出错 我在app.py中尝试了以下测试: from app import app #this
│── app.py
|── tests
│ ├── tests_app.py
我最初将app.py和tests_app.py放在同一个级别,测试通过后一切正常,但现在我将测试放在了它们自己的文件夹中,我无法再导入应用程序而不会出错
我在app.py中尝试了以下测试:
from app import app #this is what worked fine when app and tests were in the same folder
from ..app import app
from .. import app
linting错误是“尝试在顶级包之外进行相对导入”,当我运行pytest时,它会显示“ImportError:尝试在没有已知父包的情况下进行相对导入”
非常感谢
p、 我使用的是Python 3.8.5您需要在桌面上安装
应用程序
。快速修复方法是将app.py
的路径添加到PYTHONPATH
环境变量:
export PYTHONPATH=/path/to/dir # where app.py is
如果app.py
位于python路径上,则import-app
将起作用(排除任何其他导入问题,如循环导入)
一种有效且可复制的方法是安装应用程序。您可以在
develope
模式下执行此操作,这意味着代码从其当前目录运行。这是开发Python应用程序的一个低调而重要的部分,但要做到这一点,您需要编写代码。可能会有所帮助。您好,非常感谢您回复我。我的应用程序仍然没有完成,因为我正在编写测试,打包是否是你在应用程序完成后要做的事情?此外,我还尝试将路径添加到PYTHONPATH的dir中,但我仍然收到相同的错误。。。