python деплой venv

Когда переношу проект с PyCharm (сами файлы проекта хранятся локально на пк), на vds или просто пытаюсь запустить файл через дефолтную IDLE, то выскакивает ошибка подключения модулей, которые лежат в других директориях проекта. Я так понимаю, что это из за того не перенесено виртуальное окружение(сама папка venv в корне проекта перенесена) или какие то настройки путей, которые создала IDLE PyCharm при разработке. Хотелось бы в деталях узнать как решить проблему.


Ответы (1 шт):

Автор решения: nomnoms12

Нельзя просто копировать папку venv, потому что она создаётся по-разному в Windows и Linux. Для каждой системы Вам необходимо заново создавать окружение, а переносить только файл с зависимостями.

  1. Активируйте окружение на Windows (PyCharm делает это автоматически):
    venv\Scripts\activate.bat
    
  2. Создайте файл с зависимостями на Windows:
    pip freeze > requirements.txt
    
  3. Перенесите файл на сервер
  4. Создайте окружение на сервере:
    python3 -m venv venv
    
  5. Активируйте окружение на сервере:
    source venv/bin/activate
    
  6. Установите зависимости в новое окружение на сервере:
    pip install -r requirements.txt
    

P.S.:

Документация: https://docs.python.org/3/library/venv.html

Активация окружения на разных платформах:

Активация окружения на разных платформах

Деактивация окружения:

deactivate
→ Ссылка