找不到从自己的目录导入的模块。如何解决?
Module import from own directory not found. How to fix it?
尝试 运行 我的代码时出现错误,但不知何故 vs 代码看不到路径错误。
错误:
ModuleNotFoundError: No module named 'get_formats'
我的代码结构是:
application
├── data_processor
│ ├── extract_movements.py
│ └── get_formats
│ └── get_formats.py
├── get_user_input
│ ├── get_bank_name.py
│ └── get_pdf_name.py
└── operate.py
错误发生在 extract_movements.py
中,我正在尝试使用以下方法导入位于 get_formats.py
中的函数:
from get_formats.get_formats import get_transaction_tags_format, get_transaction_dates_format
显示的完整错误是:
Traceback (most recent call last):
File "/Users/username/Desktop/application/operate.py", line 6, in <module>
from data_processor.extract_movements import extract_movements
File "/Users/username/Desktop/application/data_processor/extract_movements.py", line 1, in <module>
from get_formats.get_formats import get_transaction_tags_format, get_transaction_dates_format
ModuleNotFoundError: No module named 'get_formats'
我看到一些答案谈到应用程序目录或 data_processor 目录中的 __init__.py
文件,所以我尝试添加它但没有结果。也不知道什么是名为 __init__.py
的空文件
如果您在目录中创建 __init__.py 脚本,您将能够访问同级文件。
为什么您的 __init__.py 没有工作? - 你需要一个 __init__.py 在 get_formats 目录内而不是在外部,否则该目录将不会被视为一个模块。
然而,最简单的选择是使用 sys 模块,例如此处第二个答案中的 sys.path.append
Importing files from different folder , or like this: How to import .py file from another directory?
尝试 运行 我的代码时出现错误,但不知何故 vs 代码看不到路径错误。
错误:
ModuleNotFoundError: No module named 'get_formats'
我的代码结构是:
application
├── data_processor
│ ├── extract_movements.py
│ └── get_formats
│ └── get_formats.py
├── get_user_input
│ ├── get_bank_name.py
│ └── get_pdf_name.py
└── operate.py
错误发生在 extract_movements.py
中,我正在尝试使用以下方法导入位于 get_formats.py
中的函数:
from get_formats.get_formats import get_transaction_tags_format, get_transaction_dates_format
显示的完整错误是:
Traceback (most recent call last):
File "/Users/username/Desktop/application/operate.py", line 6, in <module>
from data_processor.extract_movements import extract_movements
File "/Users/username/Desktop/application/data_processor/extract_movements.py", line 1, in <module>
from get_formats.get_formats import get_transaction_tags_format, get_transaction_dates_format
ModuleNotFoundError: No module named 'get_formats'
我看到一些答案谈到应用程序目录或 data_processor 目录中的 __init__.py
文件,所以我尝试添加它但没有结果。也不知道什么是名为 __init__.py
如果您在目录中创建 __init__.py 脚本,您将能够访问同级文件。
为什么您的 __init__.py 没有工作? - 你需要一个 __init__.py 在 get_formats 目录内而不是在外部,否则该目录将不会被视为一个模块。
然而,最简单的选择是使用 sys 模块,例如此处第二个答案中的 sys.path.append
Importing files from different folder , or like this: How to import .py file from another directory?