Сохранение установленных пакетов при обновлении Python - PullRequest
1 голос
/ 05 марта 2020

У меня установлено python 3.7 на Windows 10. Похоже, что рекомендуемый способ обновления до 3.8 - это новая установка, а это значит, что у меня будут установлены обе версии. Мне не нужны обе версии, но я хотел бы сохранить все пакеты, которые я установил для версии 3.7.

Как мне этого добиться, пожалуйста? Также новая переменная пути для 3.8 заменит замену для 3.7?

Процесс для такого общего случая использования кажется странно сложным. Я что-то упустил?

Ответы [ 3 ]

0 голосов
/ 05 марта 2020

Простое решение в CMD:

pip freeze > packages.txt

Это запишет все ваши текущие пакеты в текстовый файл "packages.txt '

Затем удалите Python 3.7, как вы любая программа Windows затем установит Python 3.8 и в CMD сделает

pip install -r packages.txt

Это установит все пакеты, которые у вас были раньше.

Хотя я бы порекомендовал использовать conda в виде этих безруких Python версий и пакетов для вас вместе со средой.

0 голосов
/ 05 марта 2020

Один из способов сделать это - запустить:

python3.7 -m pip freeze > installed.txt

Затем, после установки новой версии Python, вы можете установить пакеты с:

python3.8 -m pip install -r installed.txt

Существует вероятность того, что пакеты, установленные вами для старой установки Python, не совместимы с новой версией. По этой причине безопаснее сохранить обе установки Python, а затем использовать виртуальные среды для каждого из ваших проектов.

Вы можете создать virtualenv для каждого из ваших проектов, используя версию Python, необходимую для этот проект, и установите ваши зависимости только в virtualenv для этого конкретного c проекта. Таким образом, вы можете избежать ситуации, когда для проекта A требуется старая версия определенного пакета, а для проекта B требуется более новая. Если вы устанавливаете все свои пакеты глобально, в этом случае у вас возникают проблемы.

См. Также Что такое virtualenv и почему я должен его использовать?

0 голосов
/ 05 марта 2020

Я бы порекомендовал перейти в conda для управления вашей средой.

https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html

В настоящее время большинство проектов разработки, над которыми я работал, включает python, так как версия и библиотеки указаны в на основе проекта. Конда позволяет заморозить окружающую среду, чтобы она была более переносимой. Вы можете создать файл environment.yml, который позволяет кому-то воссоздать вашу среду с нуля, и вы можете поддерживать только пакеты, необходимые для данного проекта.

Согласно исходному вопросу, вы можете установить PYTHONPATH так, чтобы он указывал на старый и новый каталоги. Я не могу гарантировать, что библиотеки будут работать, хотя могут быть проблемы с совместимостью версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...