Python在PyCharm中工作,但不在终端上工作

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

use*_*079 1

sys.path.append(os.getcwd()[:os.getcwd().index('Dev')])
Run Code Online (Sandbox Code Playgroud)

我将其添加到我的导入中,似乎已经解决了问题。然而,这似乎不是正确的做法;现在就可以了。