Brightway2修改项目目录导入项目失败及报错问题求助
- 使用
bw2io.backup.restore_project_directory(filepath)导入项目时,无法将项目导入自定义的非标准目录 - 已按照官方文档修改
BRIGHTWAY2_DIR环境变量,但未生效 - 尝试调用
bw.set_data_dir('D:\brightway_folder_SESAM', permanent=True)修改默认目录时,触发以下NameError错误:
NameError Traceback (most recent call last)
Cell In[12], line 1
----> 1 bw.set_data_dir('D:\brightway_folder_SESAM', permanent =True)File D:\program_files\envs\ab\lib\site-packages\bw2data\utils.py:308, in set_data_dir(dirpath, permanent)
300 def set_data_dir(dirpath, permanent=True):
301 """Set the Brightway2 data directory todirpath.
302
303 IfpermanentisTrue, then setdirpathas the default data directory.
(...)
306
307 """
--> 308 warnings.warn("set_data_diris deprecated; useprojects.set_current('my " 309 "project name')for a new project space.",
310 DeprecationWarning)NameError: name 'warnings' is not defined
- 使用官方推荐的替代方法
set_data_dir已被弃用,且当前版本存在代码bug(未导入warnings模块),应改用projects模块管理目录:
from bw2data import projects # 设置自定义数据目录(永久生效,后续启动自动加载) projects.set_base_dir('D:\brightway_folder_SESAM', permanent=True) # 切换到目标项目(新目录会自动创建) projects.set_current('你的项目名称')
确保环境变量生效
修改BRIGHTWAY2_DIR后,必须重启Python环境(包括Jupyter内核)才能让设置生效。Windows系统建议通过系统属性面板设置环境变量,避免临时修改的生效问题。直接指定目录恢复项目
如果切换目录后仍无法正常恢复,可在恢复前明确设置目标目录:
from bw2io.backup import restore_project_directory from bw2data import projects # 临时设置目标目录(仅本次会话生效) projects.set_base_dir('D:\brightway_folder_SESAM') # 恢复项目到当前目录下 restore_project_directory(filepath)
- 临时绕过
set_data_dir错误(不推荐)
若必须使用该弃用方法,可手动导入warnings模块绕过报错,但不建议长期使用:
import warnings from bw2data import bw bw.set_data_dir('D:\brightway_folder_SESAM', permanent=True)
内容的提问来源于stack exchange,提问作者Roel Degens

