考虑以下目录结构:
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
?
最佳答案
在lib中添加一个文件(__init__.py空文件),
lib/
__init__.py
markov.py
solver.py
test.py
最终解决方案:
import sys
sys.path.append("/path/to/lib")
关于python - 在同一目录中导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42823005/