我试图制作一个Python3.6包,但是在从包中导入时遇到了ModuleNotFound错误。包具有以下结构:project/
project/
cache/
default.py
interface.py
__init__.py
handler.py
test.py
__init__.py文件包含以下内容:
^{pr2}$
然后在handler.py中,我尝试从cache导入以下内容:from .cache.default import DefaultCache
目标是允许通过客户端代码执行以下操作:import project
handler = project.getHandler()
最后一次导入失败了,我不清楚原因。有什么想法吗?蒂娅。在
不确定它有多相关,但我正在通过在外部project目录中运行以下命令来测试这一点:> pip install .
> python3 ../test.py
这将返回以下回溯
(venv) Jamess-MacBook-Pro-2:project james$ python3 ../test.py
Traceback (most recent call last):
File "../test.py", line 1, in
import project
File "/Users/james/Work/Project/project/venv/lib/python3.6/site-packages/project/__init__.py", line 1, in
from .handler import Handler
File "/Users/james/Work/Project/project/venv/lib/python3.6/site-packages/project/handler.py", line 7, in
from .cache.default import DefaultCache
ModuleNotFoundError: No module named 'project.cache'