我正在创建具有以下文件夹结构的项目。
其中带有'src'软件包的项目。 'models'包和'tests'包都在'src'内,并且每个包内都有自己的模块。
问题:我正在尝试将包“模型”导入“测试”包内的模块中。
这是文件夹结构:
-project
-src
-models
-__init__.py
-ArmModel.py
-tests
-test_arm_model.py
ArmModel.py定义了一个类:
class ArmModel:
def __init__(self, definition='std def'):
self.definition = definition
并且test_arm_model.py(我有问题的地方)需要从模型导入ArmModel进行测试:
import unittest
from src import models
class TestArmModel(unittest.TestCase):
def test_arm_model(self):
arm = models.ArmModel('arm')
self.assertEqual(arm.definition, 'arm')
if __name__ == '__main__':
unittest.main()
我无法从“测试”模块内的“模型”导入“ Arm.py”。
追踪(最近通话):文件“ ./src/tests/test_arm_model.py”,第2行,在从src导入模型ModuleNotFoundError:没有名为“ src”的模块
尝试1:我尝试使用以下代码,并得到相同的错误
from src import models
我试图直接按照以下步骤获取类,并得到相同的错误
from src.models.ArmModel import ArmModel
而且我试图操纵sys.path,
import sys
sys.path.append('/home/jamal/dev/tcc/src/')
from src.models.ArmModel import ArmModel
并且出现相同的错误
from src.models.ArmModel import ArmModel
ModuleNotFoundError: No module named 'src'
尝试时
sys.path.append('/home/jamal/dev/tcc/src/models/')
或
sys.path.append('/home/jamal/dev/tcc/src/models/ArmModel')
来自PyCharm IDE的自动完成功能找不到该软件包,并且我在代码中遇到了相同的错误。
我还试图将'../'附加到sys.path。当我尝试下面的代码时,出现ModuleNotFoundError:没有名为“ src”的模块
import sys
sys.path.append('../')
from src.models.ArmModel import ArmModel
[当我尝试将导入更改为]时>
from models.ArmModel import ArmModel
IDE在模型和ArmModel下显示未解析的引用,并显示错误
我正在创建具有以下文件夹结构的项目。一个内部带有“ src”包的项目。 'models'包和'tests'包都在'src'内,并且每个包都有自己的模块...
为了解决此问题,我将路径附加到项目根文件“ TCC”