我试图了解 python 背后的导入机制,但这段代码给出了错误。
这是我的文件夹结构:
import_test
-calculator
..__init__.py
..operation.py
-lib
..__init__.py
..multiply.py
当我在 PyCharm IDE 上运行时它工作正常,但如果我从命令行运行,比如
'py operation.py'(for now windows,for the next phase i will try on raspbian RPi)
我收到模块未找到错误!尝试了网上论坛的很多方法,还是没有任何进展。
乘法.py:
def multiplier(a,b):
return a + b
操作.py:
from lib.multiply import multiplier
print (multiplier(3,4))
lib/init.py:
from .multiply import multiplier
这是我运行的输出:
File "operation.py", line 1, in <module>
from lib.multiply import multiplier
ModuleNotFoundError: No module named 'lib'
最佳答案
向上一个目录,到另一个目录,然后返回,几乎总是需要编辑 sys.path
pycharm 往往会为项目自动执行此操作,而不会真正告诉你它做了。
使用问题中的结构应该可行:
import_test
-calculator
..__init__.py (EMPTY FILE)
..operation.py
-lib
..__init__.py (EMPTY FILE)
..multiply.py
操作.py:
import os
import sys
# insert the "import_test" directory into the sys.path
sys.path.insert(1, os.path.abspath(".."))
from lib.multiply import multiplier
print (multiplier(3,4))
乘法.py:
def multiplier(a,b):
return a + b
运行 operation.py 返回:
7
关于python - 模块未找到错误 : No module named 'lib' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57328142/