我有一个 django(但我认为它在这里也不相关)项目,我尝试在其中添加我以前做过的脚本。所以我把它放在我的项目的一个子目录中,并且我有这个结构(我知道现在有点乱,但它不会保持原样)
从 views.py 我想导入 main.py (特别是函数 excelToXml )。在互联网上搜索后,我发现我在 views.py 中复制的代码。如果我理解正确,它会将 first_page 的目录父目录添加到变量 $PATH 中,但是,每个子目录
CURRENT = os.path.dirname(os.path.abspath(__file__))
PARENT = os.path.dirname(CURRENT)
sys.path.append(PARENT)
from ExcelToXML.main import excelToXml
我还在 ExcelToXML 目录中创建了一个文件 __init.py_ _,该文件留空。
然而,即使我做了所有这些,当我运行 django 服务器时,我仍然会收到这个错误
文件“c:\Users\CRA\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\django\bin\DevisVersOpen\DevisVersOpen\urls.py”,第 18 行,在模块中
从第一页导入视图
文件“c:\Users\CRA\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\django\bin\DevisVersOpen\first_page\views.py”,第 13 行,在模块中
从 ExcelToXML.main 导入 excelToXml
ModuleNotFoundError:没有名为“ExcelToXML”的模块
我没有在互联网上找到任何我能理解的解决方案,所以我真的不知道如何解决这个问题
原文由 Peni 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的目录结构让我认为您应该尝试这样导入:
因为 ExcelToXML 在 first_page 模块下,所以它被视为 first_page 的子模块。