关于python:在同一目录中导入模块

Importing modules within the same directory

考虑以下目录结构:

1
2
3
4
lib/
  markov.py
  solver.py
  test.py

markov.py有以下代码:super()在崇高的文本中抛出错误,在pycharm/terminal中工作

solver.py只包含一系列数学函数,下面是一个例子:

1
2
def mm1_busy_idle(arrival, service):
    return round(1 - (arrival / service), 4)

现在,当我试图在markov.py中执行import solver时,pycharm告诉我有No module named solver。但是,当我执行import test时,它做得很好,我可以从那里运行测试函数:

1
2
def test():
    print("test!")

另外,当我在test.test()上盘旋时,pycharm向我展示了以下工具提示:Cannot find reference 'test' in '__init__.py'

我的问题是:为什么我可以运行import testtest()的函数,但我不能在markov.py中运行import solver


在lib中添加一个文件(uu init_uuu.py empty file)。

1
2
3
4
5
lib/
  __init__.py
  markov.py
  solver.py
  test.py

终极解决方案:

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