Что такое виртуальная среда?
Виртуальная среда Python, или виртуальное окружение, позволит использовать модули и зависимости для каждого проекта изолированно друг от друга.
Зачем нужна виртуальная среда? Мой проект запускается в Pycharm без проблем
В Pycharm (виртуальная среда) создается автоматически. Если вы хотите запустить проект вне Pycharm, к примеру на linux-сервере — вам понадобится активировать виртуальную среду. Иначе в момент загрузки модулей Python будет искать модули установленные глобально в операционной системе, а это в большинстве случаев провально.
Для работы с виртуальной средой ее нужно создать и активировать. Если она уже существует (например pycharm ее создал) - ее нужно только активировать.
Создаем папку для виртуальной среды .venv в папке проекта
python3 -m venv production-env
Где production-env можно поменять на любое название
Для активации venv на linux
source production-env/bin/activate
В случае с Linux в строке с source production-env - это название енвайрмента, а не папки
Для активации venv на Windows
В cmd
production-env\Scripts\activate.bat
В powershell
production-env\Scripts\activate.ps1
Где production-env можно поменять на любое название
В случае с Windows в строке активации production-env - это название пути к папке
Сбор зависимостей в файл requirments
python -m pip freeze > requirements.txt
Соберет список модулей с конкретными версиями в файл requirements.txt
Установка зависимостей из requirments
python -m pip install -r requirements.txt
Установит все модули из файла requirements.txt в виртуальную среду, если она активирована
Источник информации:
https://docs.python.org/3/tutorial/venv.html