在Pycharm中导入Python自定义模块的错误

时间:2017-10-05 11:20:11

标签: pycharm

由于某些原因,我无法以此格式import module导入我自己的模块。

IDE:Pycharm,Python版本:3

文件:

projectname/scr/test1.py
projectname/scr/test2.py

test1.py:

def print_value(x)
    print x

test2.py:

import test1

 value = 5
 test1.print_value(value)

Pycharm编辑器向我显示以下错误。

import test1 # Error: No module named test1

但是,当我运行代码(python test2.py)时,它运行正常。唯一的问题是我没有获得test1函数或变量的建议,例如当我输入test时,没有任何东西弹出作为建议。这是来自pycharm的一些奇怪的行为。

但是,如果我按照文件夹层次结构中的顺序移动这些文件,那么一切正常,当我输入test1.something时,没有错误和适当的建议。

文件:

projectname/test1.py
projectname/test2.py

对此有何解释?为什么它不能在src文件夹中工作?

更新: 通过将src标记为此{Stackerver question启发的root sources解决了该问题。我仍然不明白为什么会发生这种情况以及为什么将此目录设置为root源会解决此问题,但它现在可以正常工作。

3 个答案:

答案 0 :(得分:0)

位于同一位置的模块应该没有任何问题导入

答案 1 :(得分:0)

import sys
sys.path.insert(0,'projectname/scr')
from test1 import anything

我想,这会对你有所帮助。通过将此路径插入索引0处的可用路径,您可以轻松调用模块。

答案 2 :(得分:0)

通过将src标记为受此StackOverflow question启发的根源来解决此问题。我仍然不明白为什么会发生这种情况以及为什么将此目录设置为root源会解决此问题,但它现在可以正常工作。