mt-kart
|
--> src/data_kart
| |
| --> apis
| | |
| | --> __init__.py
| | --> endpoints.py
| |
| --> models
| | |
| | --> __init__.py
| | --> modelx.py
| |
| --> defaults.py
| --> main.py
--> tests
|
--> __init__.py
|
--> conftest.py
|
--> test_others.py
在main.py
中,当我尝试引用时,得到module not found error
from defaults import func1
但这个管用from .defaults import func1
它应该可以不用“”。对吧?
2.
从endpoints.py
我应该如何引用modelx.py
?我以前的开发人员有它像下面。from data_kart.models.modelx import model1
但是当我使用mt-kart
目录中的pytest
运行一些测试时,它会抱怨。然后下面的测试对pytest
有效。但是我担心它可能给予在一些不同的情况下出错。from src.data_kart.models.modelx import model1
本项目使用FastApi
和OpenApI Code generators
编辑------------------
在conftest.py
中,我将src
添加到sys.path
,路径对于我的问题2
工作正常。sys.path.append(os.getcwd()+"/src")
1条答案
按热度按时间blmhpbnm1#
您可以在
PYTHONPATH
中添加包含软件包的目录,如here所示。例如,如果您使用的是Windows,则软件包的目录应如下所示:C:/users/.../mt-kart/src
。在将路径添加到环境变量之后,请确保启动一个新的终端来运行pytest
。通过在
PYTHONPATH
中添加C:/users/.../mt-kart/src
,这意味着您可以像这样导入模块:from data_kart.models.modelx import model1
(正如您的 * 前任开发人员 * 所做的那样)和from defaults import func1
应该按预期工作。每次从data_kart
包导入模块时,它都会指向PYTHONPATH
变量中给定的目录。因此,导入模块时不需要将sys.path.append(...
添加到项目(或测试文件)中每个文件的顶部。