考虑以下目录结构:
lib/
markov.py
solver.py
test.py
markov.py
包含以下代码:super() throwing an error in Sublime Text, works in PyCharm/Terminal
solver.py
只包含一堆数学函数,这是一个例子:
def mm1_busy_idle(arrival, service):
return round(1 - (arrival / service), 4)
现在,当我尝试在import solver
中执行markov.py
时,PyCharm告诉我有No module named solver
。但是,当我做import test
时,它做得很好,我可以从那里运行测试功能:
def test():
print("test!")
此外,当我将鼠标悬停在test.test()
时,PyCharm会向我显示以下工具提示:Cannot find reference 'test' in '__init__.py'
。
我的问题是:为什么我import test
可以运行test()
函数,但import solver
中我不能markov.py
?
答案 0 :(得分:2)
在lib中添加一个文件(__init__.py空文件),
lib/
__init__.py
markov.py
solver.py
test.py
最终解决方案:
import sys
sys.path.append("/path/to/lib")