ModuleNotFoundError: No module named 'funciones' (Python)

ModuleNotFoundError: No module named 'funciones' (Python)

我正在尝试为我工作的一些重复性任务创建一些具有某些功能的词典,现在当我尝试在 dicc 上使用任何功能时,我遇到了这个错误。 我也在学习 python,我用这门语言编程大约有 2 周时间,所以如果有人能帮助我以更具体的方式解决问题,我将不胜感激。

文件夹结构如下: folders structure

这是我导入函数、存储和调用函数的方式

 #Funciones Cred Now ------------------
from funciones.credNowFunciones.CredNowLoanCargar import credNowLoanCargar
from funciones.credNowFunciones.CredNowLoanCargar import credNowLoanCargarYComparar
from funciones.credNowFunciones.CredNowLoanAcumulable import credNowLoanAcumulable

credNowDict = {
    "cargarLoan": credNowLoanCargar,
    "cargarYCompararLoan": credNowLoanCargarYComparar,
    "loanAcumulable": credNowLoanAcumulable
}

#Invocar funciones
credNowDict['cargarLoan']('archivos/excels/credNow/1-100-CXXXNXw_1102.xlsx',
'archivos/generadosPorEmpresa/credNowGenerados/crxxNxxnxCargar.xlsx')

from package.subpackage.module import object 结构只有在 packagesubpackage 是有效的包时才有效——也就是说,它们在 PYTHONPATH 上的一个目录中或在同一个目录中作为 __main__ 文件,包含一个名为 __init__.py.

的文件

因为 funcionescredNowFunciones 都不包含名为 __init__.py 的文件,所以它们不算作包并且无法正确导入。要解决这个问题,只需将一个空的 __init__.py 文件添加到您希望能够从中导入的每个文件夹中,这样 funciones 的文件夹结构就变成了这样:

funciones/
  __init__.py
  credNowFunciones/
    __init__.py
    CredNowLoanAcumulable.py
    CredNowLoanCargar.py
  edemsaFunciones/
    __init__.py
    ...

另请注意,如果要将对象导入到的 python 脚本与 funciones 不在同一目录中,您需要确保 funciones 位于以下目录中在你的 PYTHONPATH 上。有关详细信息,请参阅 here

有关 Python 软件包的更多信息,请参阅 here