Перенос проекта в виртуальном окружении в Python
Часто возникают ситуации, когда нужно перенести исходный проект в новую папку, например, на новый сервер. Давайте разберемся как можно это сделать с виртуальным окружением в Python.
Сначала создадим новую папку new_project_ven
,
в которую перенесем проект из project_ven
:
- /project_venv/
- ...
- /project1/
- main.py
- /new_project_venv/
Далее копируем все установленные пакеты
из виртуального окружения project_ven
.
Делается это с помощью следующей команды:
python -m pip freeze > req.txt
Слева от слова freeze
ставится
угловая скобка и имя файла, в котором будет
находится информация о пакетах. У нас такой
файл называется req.txt
, но его имя
может быть любым. После выполнения команды
в папке с проектом появится новый файл:
- /project_venv/
- ...
- /project1/
- main.py
- req.txt
Далее нужно скопировать папку project1
,
в которой лежит уже два файла: main.py
и req.txt
. Затем вставляем ее в
папку new_project_venv
:
- /project_venv/
- ...
- /project1/
- main.py
- req.txt
- /new_project_venv/
- /project1/
- main.py
- req.txt
- /project1/
Теперь выходим из текущего виртуального окружения:
deactivate
Затем в консоли нужно перейти в папку
new_project_venv/project1
. После
этого, следует создать новое виртуальное
окружение для нового проекта:
python -m venv ..
Далее активируем наше новое окружение:
..\Scripts\activate # для Windows
source ../bin/activate # для Linux
После чего в консоли вы увидите имя нового виртуального окружения:
(new_project_venv)
Теперь нужно восстановить пакеты из исходного проекта. Для этого применяем следующую команду:
pip install -r req.txt
После успешной установки библиотеки выведется следующее сообщение:
Successfully installed numpy-1.26.4
Перенесите созданный вами проект в новое виртуальное окружение.
Восстановите в новом проекте все библиотеки из исходной папки. Проверьте работу установленных библиотек.