Есть 2 способа работать с интерпретатором питона, можно запускать
программу с использованием python из самой ОС в Linux, который
находится по пути /usr/bin/python
Второй способ заключается в создании локального python интерпретатора, прямо внутри самого проекта, скачивание и установка модулей прямо в этот проект.
Установка в Ubuntu
pip3 install --user virtualenv virtualenvwrapper
Установка python3.8 для создания вирт-окружение
sudo apt install python3.8-venv
В самом созданном проекте создаем вирт-окружение с версией 3.8
python3.8 -m venv venv
Чтобы активировать виртуальное окружение в терминале, запускаем команду:
source venv/bin/activate
После этого в терминале будет дописано (venv) что означает что
мы находимся в виртуальном окружении, и теперь все устанавливаемые
библиотеки, пакеты, модули будут устанавливаться в директорию venv
После активации можно посмотреть версию интерпретатора python что будет использована:
python --version
# Вывод
Python 3.8.0
Деактивация окружения:
deactivate
Когда мы находимся в вирт.окруж venv командой pip freeze
можно вывести список всех установленных пакетов.
pip3 freeze
absl-py==0.13.0
asgiref==3.4.1
astunparse==1.6.3
cachetools==4.2.2
certifi==2021.5.30
Следующим способом мы экспортируем этот список в файл Requirements.txt
pip3 freeze > Requirements.txt
На другом компьютере, когда другой человек скачает репозиторий, он может одной командой установить все перечисленные библиотеки с помощью одной команды.
pip3 install -r Requirements.txt
Так можно быстро устанавливать все зависимые библиотеки.
В ОС есть Переменные окружения специальные переменные для хранения служебной информации,
с помощью python мы можем использовать их в своем проекте как настройки программы.
Хорошей практикой принято считать создание в корне проекта файла .env.template который
будет служить шаблоном переменных окружения для заполнения, в нем не будет данных, только
указание названия какие переменные будут использоваться.
Содержимое файла .env.template
# int
VAR1=
# str
VAR2=
# str, separate with ,
VAR3=
# bool
VAR4=
На основе шаблона будем заполнять наш боевой файл с переменными окружения.env
VAR1=55
VAR2=hello world
VAR3=A,B,C,D
VAR4=True
Для получения переменных окружения в python есть специальный модуль
pip install python-dotenv==0.21.0
С его помощью можно получать переменные окружения, по дофолту он настроен на извлечения
переменных из файла .env в текущей директории, хорошей практикой считается расположение
файла settings.py который и будет извлекать все данные из переменных окружения, и
импортируя который можно получать доступ ко всем настройкам.
from os import environ
from dotenv import load_dotenv
load_dotenv()
"""int"""
VAR1 = int(environ.get("VAR1", 55))
"""str"""
VAR2 = str(environ.get("VAR2", ''))
"""list"""
VAR3 = str(environ.get("VAR3", 'A,B,C')).split(',')
"""bool"""
VAR4 = bool(environ.get("VAR4", True))