我在使用 Brightway2 导入 Ecoinvent 3.2 时遇到了一些问题,我正在关注示例笔记本:
from brightway2 import *
fp = 'D:\LCAdb\e_3.2_cutoff_lci\datasets'
projects.set_current("myproject")
bw2setup()
ei = SingleOutputEcospold2Importer(fp, "ecoinvent 3.2 cutoff")
我收到一条警告消息,似乎阻止了导入过程
C:\Users\@@@\Anaconda3\envs\bw3\lib\site-packages\bw2data\project.py:157:用户警告: 只读项目
该项目正在被另一个进程使用,并且在以下情况下无法进行写入:1.您关闭另一个程序,或切换到另一个项目,以及 2.您调用
projects.enable_writes
并获得响应True
。If you are **sure** that this warning is incorrect, call `projects.enable_writes(force=True)` to enable writes.
警告.warn(READ_ONLY_PROJECT)
如果我跑
projects.enable_writes(force=True)
我收到另一个权限错误
PermissionError Traceback (最近一次调用最后一次) in () ----> 1 projects.enable_writes(force=True)
C:\Users\@@@\Anaconda3\envs\bw3\lib\site-packages\bw2data\project.py in enable_writes(self, force) 234 """为当前项目启用写入。""" 235 if force : --> 236 os.remove(os.path.join(self.dir, "write-lock")) 237 self.read_only = not self._lock.acquire(timeout = 0.05) 238 if not self.read_only:
PermissionError: [WinError 32] El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso: 'C:\Users\@@@\AppData\Local\pylca\Brightway3\myproject.4da39212894ad06eb7c95810f8a2a6b0\write-lock'
翻译的 winerror 类似于“该进程无权访问该文件,因为该文件正在被其他进程使用”
我没有同时运行其他 Brightway 环境,而且我最近更新了 Brightway2,所以我不知道问题可能出在哪里。有任何想法吗?
谢谢!
UPDATE1:我在另一台计算机上安装了 brightway2,我发现了相同的警告消息。尽管有消息,导入似乎是正确的。一旦数据库被加载和写入,如果我再次打开项目,数据库仍然存在。
在以前的笔记本电脑中,导入过程对于机器来说似乎太多了(带有 Windows 10 和 6 GB RAM 的 ASUS S56CB)。在等待结果 40 分钟后,我通常会绝望并杀死它。我会尝试重新安装python...