Использование virtualenv в разных ОС, как организовать?
Добрый день.
У меня есть несколько проектов на django, использую IDE pyCharm. Изначально программировал под ubuntu, сервер мой тоже на ubuntu, и всё было замечательно. Но в связи с тем что периодически есть необходимость использовать windows, а две системы держать не удобно, я решил попробовать процесс разработки перенести в него.
Долго не мог понять почему pyCharm под windows не может импортировать вирт окружение из моих проектов. Потом вычитал, что вирт окружение в win и в linux отличаются и нельзя использовать окружение, созданное в другой ОС.
Собственно вопрос - как быть? Если я хочу программировать под win, а результат должен работать под ubuntu?
Как наиболее правильно будет перенести мои проекты в windows окружение и при этом оставить серверные копии в linux окружении?
Заранее спасибо.
Виртуальные окружения не предназначены для переноса. Выгружайте список зависимостей с помощью pip freeze в файл requirements.txt, а потом устанавливайте их в новое виртуальное окружение с помощью pip install -r requirements.txt
Hadmi, чтобы развернуть проект на другой систему нужно выполнить три команды - вытянуть проект из репы, создать виртуальное окружение, установить в него зависимости. Задача секунд на 30, если считать вместе с временем скачивания и установки зависимостей.
Сергей Горностаев, ну не так всё просто наверное всё-таки. Зависимости могут меняться в процессе разработки, значит venv на сервере будет требовать периодического обновления. Я так понимаю файлы venv надо исключить из git, оставить только файл requirements.txt, и при изменении зависимостей обновлять окружение на сервере.. Какой командой, также pip install -r requirements.txt? Я в правильном направлении вообще думаю?
Наиболее правильно - разрабатывать на том же, на чем будет эксплуатироваться.
Но, если очень хочется, то на исходном окружении pip freeze > requirements.txt.
а, после входа в новое окружение pip install -r requirements.txt.