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 test和test()的函数,但我不能在markov.py中运行import solver?
- 试着from . import solver
- "约塞米蒂国家公园的_ K SystemError: Parent module '' not loaded, cannot perform relative import
- from lib import solver
- "约塞米蒂国家公园的_ K说,让我们unresolved reference
在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") |