Обновление Brightway без изменения проекта

Работая с brightway2, я понял, что моя версия не обновлена, и попытался обновить ее, используя conda update brightway2 но это не сделало бы это. Я должен установить новый проект и обновить brightway2 в этом новом проекте, чтобы запустить последнюю версию. Мой вопрос прост: есть ли способ обновить brightway2 без необходимости создания нового проекта?

2 ответа

Решение

Как только вы обновите данные Brightway, запустите bw.bw2setup() В новом проекте вам предоставят самые современные методы и обмен биосферой. Вы не можете бежать bw.bw2setup() в проекте, где bw.bw2setup() уже был запущен. Это просто потому, что biosphere3 База данных уже существует.

Предположим, вы импортировали brightway2 как bw:

`import brightway2 as bw

Чтобы обновить свои биосферные биржи, сначала нужно удалить существующую базу данных биосферы3:

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()

Обновление Brightway (или любой другой библиотеки Python) не имеет никакого отношения к тому, в каком проекте вы находитесь. Если вы работаете в Windows, вам нужно активировать среду conda (обычно activate <some-name>), а затем вы можете запустить conda update -c conda-forge -c cmutel -c haasad brightway,

После обновления все работающие скрипты или ядра iPython должны быть перезапущены.

Другие вопросы по тегам