2017-05-12 66 views
0

与brightway2一起工作时我意识到我的版本不是最新版本,并试图使用conda update brightway2进行更新,但它不会这样做。 我必须设置一个新项目并更新这个新项目中的brightway2才能运行最新版本。 我的问题很简单:有没有办法更新brightway2而无需创建新项目?在不改变项目的情况下更新brightway

+0

你的意思是你想要更新运行bw2setup()时导入的方法和交换列表? – MPa

+0

是的,我的意思是更新方法和交流,而不是更新brightway本身。对困惑感到抱歉。 –

回答

0

一旦您更新了brightway数据,在新项目中运行bw.bw2setup()将为您提供最新的方法和生物圈交换。 您不能在bw.bw2setup()已运行的项目中运行bw.bw2setup()。这仅仅是因为biosphere3数据库已经存在。

假设您导入brightway2为BW:

`import brightway2 as bw 

要更新生物圈交流,你首先需要删除现有biosphere3数据库:

bw.Database('biosphere3').delete() 
bw.Database('biosphere3').deregister() 

如果你现在运行bw2setup(),你会不更新你的方法,但是 - brightway会抱怨你试图保存的方法已经存在,并退出。我还没有找到一种方法,使用brighway2方法来删除这些方法,只是简单的注销它们的工作原理:

all_method_tuples = list(bw.methods) 
for m in all_method_tuples: 
    bw.Method(m).deregister() 

现在你可以导入你的生物圈的交流与方法:

`bw.bw2setup() 
+0

完美谢谢 –

0

更新Brightway(或任何其他Python库)与您所在的项目没有任何关系。如果您在Windows上,则需要激活conda环境(通常为activate <some-name>),然后您可以运行conda update -c conda-forge -c cmutel -c haasad brightway

更新后,应重新启动任何正在运行的脚本或iPython内核。

相关问题