Перенос проекта в виртуальном окружении в 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
Перенесите созданный вами проект в новое виртуальное окружение.
Восстановите в новом проекте все библиотеки из исходной папки. Проверьте работу установленных библиотек.