【发布时间】:2020-05-02 00:24:36
【问题描述】:
我有一个带有目录结构的包(或者我认为应该是一个包):
Switch/
tests/
testing.py
Sw.py
#otherfiles
我正在尝试从 testing.py 导入 Sw.py。我尝试了几件事,包括from .. import Sw、import ..Sw、from Switch import Sw 和其他几个变体。我已经在 Switch 目录和测试目录中尝试了有和没有 __init__.py 文件的这些。我得到的主要错误是:
Traceback (most recent call last):
File "tests/testing.py", line 10, in <module>
from .. import Sw
ImportError: attempted relative import with no known parent package
虽然我在尝试import ..Sw 和ModuleNotFoundError: No module named 'Switch' 时也会遇到语法错误,但我在尝试from Switch import Sw 时也会遇到语法错误。
我已尽力确保包中的所有目录都不在路径或 pythonpath 中,尽管我在 WSL 上运行安装在 Windows 上的 Python,因此路径有些复杂。
当我转到 Switch 上方的目录并运行 python -c "import Switch.Sw" 时,它可以正常工作,但在 Switch 目录中它会以 ModuleNotFoundError: No module named 'Switch' 响应
【问题讨论】:
标签: python import package python-3.8