导入同一目录中的模块

时间:2017-03-16 00:04:19

标签: python

考虑以下目录结构:

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

1 个答案:

答案 0 :(得分:2)

在lib中添加一个文件(__init__.py空文件),

lib/
  __init__.py
  markov.py
  solver.py
  test.py

最终解决方案:

import sys
sys.path.append("/path/to/lib")