Обновление 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 должны быть перезапущены.