问题标签 [brightway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
brightway - 在不同计算机之间复制项目
假设我在两台不同的机器上拥有相同版本的 bw2。我可以只复制粘贴文件夹的内容以projects.dir
将该项目的所有数据从一台机器转移到另一台机器而没有风险吗?
brightway - 将交易所名称和代码连接到 LCA 库存结果
我正在进入 Brightway2 进行一些能源系统建模,但我仍然习惯于所有的概念。
我创建了一个小型自定义演示数据库,并运行 lca.lci() 和 lca.lcia()。lca.inventory 和 lca.characterized_inventory 都返回结果的稀疏矩阵。我的问题可能很简单,即如何将矩阵中的值连接到交换名称和密钥。即,如果我想将结果打印到文件中,我将如何将交换与库存值相匹配?
谢谢。
brightway - 使用 Brightway 导入 ecoinvent 3.2
我在使用 Brightway2 导入 Ecoinvent 3.2 时遇到了一些问题,我正在关注示例笔记本:
我收到一条警告消息,似乎阻止了导入过程
C:\Users\@@@\Anaconda3\envs\bw3\lib\site-packages\bw2data\project.py:157:用户警告: 只读项目
该项目正在被另一个进程使用,并且在以下情况下无法进行写入:1.您关闭另一个程序,或切换到另一个项目,以及 2.您调用
projects.enable_writes
并获得响应True
。警告.warn(READ_ONLY_PROJECT)
如果我跑
我收到另一个权限错误
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...
python - 从其他程序运行 brightway2 模型
我想在优化框架内运行 Brightway2 ( https://brightwaylca.org/ ) 中运行 Brightway2。
基本上,我想创建一个 Python 脚本,将输入文件发送到外部模型(也在 Python 中)并获取输出。然后该脚本会将活动数据写入 Brightway 数据库,然后运行 Brightway2 以获得 LCA 分数。然后,该分数将用于根据优化算法更新输入文件。
Brightway2 似乎特别适合此类项目,但我在实施时遇到了麻烦。基本上,我想知道最简单的方法是什么。我有外部模型和优化算法。
到目前为止,我已经将 Jupyter Notebooks 用于我的 Brightway2 模型,但是当我将笔记本转换为 python 模块并在 IPython 的 Brightway2 环境中运行它们时,我经常会出错。模块在 IPython 中的运行方式与在 Jupyter Notebooks 中的运行方式不同吗?
我正在考虑使用 PyAutoGUI 将输入发送到 Brightway2 环境和 IPython。有没有更简单/更好的方法来做到这一点?
有没有办法在不运行 Brightway2 环境的情况下导入必要的 Brightway 模块?
谢谢
这是我在 IPython 中遇到的错误示例,但在 Jupyter 注释中没有。当我在 Jupyter 笔记中运行以下代码时,它运行良好。
但是如果我在 bw2 环境中的 IPython 中运行它,它会挂起/崩溃
它给了我以下错误:
AttributeError: 模块“ main ”没有属性“ spec ”
python - 在 Brightway2 中创建非常简单的 LCIA 方法
我对 bw2 很陌生,我正在尝试在不使用数据库的情况下制作一个简单的 LCA,而只是使用手动定义的库存和 LCIA 方法。我使用了“生命周期评估的计算结构”一书第 11 章中示例中的值。
我能够创建库存并运行 LCI 计算:
然而,当我创建虚构的 LCIA 方法时问题就开始了(为简单起见,所有 CF 都设置为 1)。这是我使用的代码,但显然它不起作用。关键问题似乎是未能将清单中的交换与 LCIA 方法联系起来。
结果是<3x2 sparse matrix of type '<class 'numpy.float64'>'
with 0 stored elements in Compressed Sparse Row format>
一个空矩阵。知道我犯了什么错误吗?我是否应该像在现有数据库中一样为每个交易所获取一个唯一标识符?我检查了本网站上的 bw2 教程、文档和以前的问题,但找不到答案。提前致谢。
brightway - 从 Brightway2 中的缩写获取方法元组
在 Briwghtway2 中可以使用 将方法元组转换为字符串get_abbreviation()
,例如:
是否可以从缩写(即去缩写)返回到元组?
brightway - 在 LCA 中查找所有发出特定生物圈流的进程
我需要找到在 LCA 中使用/排放特定生物圈流的过程。我在这里看到有一些方法看起来像我需要的,但它们被注释掉了。它们真的是我想要的吗?如果没有,有没有办法得到这个?
python - 在 Python 2.7 下安装 Brightway2 时出现 UnicodeEncodeError
蟒蛇Python2.7
Ubuntu16.04 LTS
通过以下方式安装Brightway2时出现 UnicodeEncodeError :
UnicodeEncondeError:
它只发生在 Python2.7 下。当我切换到 Python3.5 时,错误消失了,brightway2 工作正常。
我已经安装了ftfy和8来翻译 Python2.7 和 Python3 之间的代码。
pandas - 从 Brightway2 中的 MultiLCA 结果创建数据框
我正在尝试从 MultiLCA 计算的结果创建一个 pandas 数据框,将方法用作列,将功能单元用作行。我确实找到了一种解决方案,但它有点麻烦(我对字典不是很好)
有没有更优雅的方式来做到这一点?名字也很长,但那是另一回事了……