由于某些原因,我无法以此格式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源会解决此问题,但它现在可以正常工作。
答案 0 :(得分:0)
位于同一位置的模块应该没有任何问题导入
答案 1 :(得分:0)
import sys
sys.path.insert(0,'projectname/scr')
from test1 import anything
我想,这会对你有所帮助。通过将此路径插入索引0处的可用路径,您可以轻松调用模块。
答案 2 :(得分:0)
通过将src标记为受此StackOverflow question启发的根源来解决此问题。我仍然不明白为什么会发生这种情况以及为什么将此目录设置为root源会解决此问题,但它现在可以正常工作。