我从很多不同的角度尝试过,但无法解决。一定是这么简单的情况。在Python 3.7.6中:
目录结构:
./modtest/
./modtest/__init__.py
./modtest/test1.py
./modtest/test2.py
test1.py:
import modtest
def x(i):
print(i)
y(i)
test2.py:
def y(i):
print(i)
__init__.py
是一个空文件。
当我尝试运行代码时:
$ /Users/pitosalas/miniconda3/bin/python /Users/pitosalas/mydev/rsb_py/modtest/test1.py
Traceback (most recent call last):
File "/Users/pitosalas/mydev/rsb_py/modtest/test1.py", line 1, in <module>
import modtest
ModuleNotFoundError: No module named 'modtest
根据我的读物,这应该有效。我敢肯定有一些小问题!
此模块本身位于modtest
内部时,您正在test1.py
中导入modtest
。这不可能是因为尚未定义modest
并将其添加到搜索路径中。所以这实际上是您应该拥有的:
./modtest/
./modtest/__init__.py
./modtest/
./modtest/test2.py
./test1.py # this module must be outside of modtest