2017-05-12 104 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內核。

相關問題