我最近想出了如何导入模块以进行python中的单元测试。 作为解决方案,我使用:
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from Dev.test import someclass
在PyCharm中运行时,此方法工作正常,我得到了预期的输出。 但是,当我从终端运行时,我遇到了一个错误:
ImportError: No module named Dev.test
我有初始化文件应该放在的地方,但是我不知道为什么它在PyCharm中起作用,但在终端上却不起作用。 我没有更改我的路径或PyCharm中的任何内容,因为该代码应该能够在其他机器上进行最少的修改即可运行。 是否知道为什么会发生这种情况以及我可以采取哪些措施解决此问题?
我的文件夹结构如下
-Current
-Dev
-__init__.py
-test
- __init__.py
-someclass.py
-Tests
-__init__.py
-someunittest.py
我试图从主文件夹以及完整路径中运行someunittest,但它仅在PyCharm中有效
是的,但是在终端中查看后,它使用的是2.7,与PyCharm中的相同
您的文件夹结构是什么?您正在使用哪个命令在Python和Pycharm中以及从哪个目录进行测试?
我添加了文件夹结构以进行澄清。我确定PyCharm使用的是正确的版本,但也许这是我的路径&