use*_*079 16 python pycharm python-2.7
我最近想出了如何在python中导入单元测试模块.作为解决方案,我使用:
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from Dev.test import someclass
Run Code Online (Sandbox Code Playgroud)
这在PyCharm中运行时工作正常,我得到了预期的输出.但是,当我从终端运行时遇到错误:
ImportError: No module named Dev.test
Run Code Online (Sandbox Code Playgroud)
我有他们应该在的初始文件,但我迷失了为什么这在PyCharm工作,但不是从终端.我没有在PyCharm中改变我的路径或任何东西,因为这段代码应该能够在其他机器上以最小的修改运行.任何想法为什么会发生这种情况以及我可以做些什么来解决它?
我的文件夹结构如下
-Current
-Dev
-__init__.py
-test
- __init__.py
-someclass.py
-Tests
-__init__.py
-someunittest.py
Run Code Online (Sandbox Code Playgroud)
我尝试从主文件夹运行someunittest以及完整路径,但它只适用于PyCharm
sys.path.append(os.getcwd()[:os.getcwd().index('Dev')])
Run Code Online (Sandbox Code Playgroud)
我将其添加到我的导入中,似乎已经解决了问题。然而,这似乎不是正确的做法;现在就可以了。