You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何导入其他文件夹中的Python脚本?解决模块找不到报错

解决Python模块导入错误:'van' is not a package

问题根源

你的generate_tax_report.py位于C:\Users\rites\Desktop\crypto-tax-report\van\adam目录下,使用绝对导入from van.adam.inventory_methods import fifo时出错,核心原因是项目根目录C:\Users\rites\Desktop\crypto-tax-report不在Python的模块搜索路径中,或者目录未被标记为合法的Python包。

三种解决办法

1. 手动将项目根目录加入Python路径

在generate_tax_report.py的最开头添加以下代码,让Python能识别到项目根目录:

import sys
import os

# 自动获取项目根目录的绝对路径
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
sys.path.append(project_root)

# 现在可以正常执行导入
from van.adam.inventory_methods import fifo
from van.adam import transactions as t

2. 使用相对导入

由于generate_tax_report.py和inventory_methods、transactions同属van.adam目录下,直接用相对路径导入更简洁:

# 从当前目录的inventory_methods子文件夹导入fifo
from .inventory_methods import fifo
# 从当前目录导入transactions模块
from . import transactions as t

⚠️ 注意:使用相对导入时,不能直接运行该脚本(比如python generate_tax_report.py),需要从项目根目录以模块方式启动:python -m van.adam.generate_tax_report

3. 给目录添加__init__.py(可选)

Python 3.3+支持无__init__.py的命名空间包,但为了兼容性,你可以在以下目录中创建空的__init__.py文件,明确标记这些文件夹为合法Python包:

  • C:\Users\rites\Desktop\crypto-tax-report\van\
  • C:\Users\rites\Desktop\crypto-tax-report\van\adam\
  • C:\Users\rites\Desktop\crypto-tax-report\van\adam\inventory_methods\

内容的提问来源于stack exchange,提问作者Baazigar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:18:20