我遇到一个问题,但我不知道如何进一步进行调试。
我的项目有不同的目的,其中包含使用Python 3等内容。我创建了一个名为package的Python包。该包的顶级目录位于myproject/python/内。在文件系统中,它具有以下结构:
- /home/myuser/myproject/python
--- package/
------ __init__.py
------ myutil.py
------ sub_package/
---------- __init__.py
---------- sub_sub_package/
-------------- __init__.py
-------------- myscript.py
所有的 __init__.py 文件都是空白的,除了根目录下的一个 (package/__init__.py),它包含以下内容:
from . import myutil
目前为止一切都很好。 文件myscript.py实际上是一个Python脚本,可以直接运行。 由于它位于包内,我会按照这种方式执行它:
cd /home/myuser/myproject/python
python -m package.sub_package.sub_sub_package.myscript
现在是奇怪的部分。脚本按预期工作。但是,在程序结束后,我收到以下消息:
/usr/bin/python3: Error while finding module specification for
'package.sub_package.sub_sub_package.myscript.py'
(AttributeError: module 'package.sub_package.sub_sub_package.myscript'
has no attribute '__path__')
我一直在网上搜索,但没有结果。无法确定是什么导致了这个消息以及如何解决它。我猜测这可能是Python 3的导入处理的某些奇怪行为,但是我毫无头绪。非常感谢任何帮助。