Источник: <https://qaa-engineer.ru/spisok-peremennyh-okruzheniya-virtualenv/>
   
*Переменные окружения* – это переменные, которые могут быть установлены на операционной системе, и которые хранят информацию, которая доступна всем процессам, работающим на этой операционной системе. Версия Python в виртуальном окружении может использовать определенный набор переменных окружения. Эти переменные могут влиять на поведение Python и сторонних библиотек.
При работе с виртуальными окружениями в Python становится очень полезным знать список переменных окружения, которые могут быть доступны в виртуальном окружении. В этой статье мы рассмотрим список переменных окружения, доступных в виртуальном окружении `virtualenv`.  
<br> 
Переменные окружения, доступные в виртуальном окружении `virtualenv`:   
<br>
1. **VIRTUAL_ENV**   
2. **PATH**   
3. **PYTHONPATH**   
4. **PYTHONHOME**   
5. **PYTHONUNBUFFERED**   
6. **PYTHONHASHSEED**   
7. **PIP_DISABLE_PIP_VERSION_CHECK**   
8. **PIP_DEFAULT_TIMEOUT**   
9. **PIP_INDEX_URL**   
10. **PIP_NO_CACHE_DIR**   
11. **PIP_FIND_LINKS**   
12. **PIP_EXTRA_INDEX_URLS**   
13. **PIP_REQUIRE_VIRTUALENV**   
14. **PIP_RESPECT_VIRTUALENV**   
15. **PIP_IGNORE_INSTALLED**   
16. **PIP_DOWNLOAD_CACHE**   
17. **PIP_LOG_FILE**   
18. **PIP_NO_COLOR**   
19. **PIP_VERBOSE**   

## VIRTUAL_ENV
Переменная окружения `VIRTUAL_ENV` используется в Python для указания, какое виртуальное окружение было активировано. Эта переменная устанавливается автоматически при активации виртуального окружения.
## PATH
Переменная окружения `PATH` указывает на список каталогов, которые Python будет использовать для поиска исполняемых файлов. В виртуальном окружении PATH содержит путь к каталогу bin виртуального окружения, который содержит исполняемые файлы, связанные с этим окружением.
## PYTHONPATH
Переменная окружения `PYTHONPATH` используется для добавления дополнительных путей поиска Python-модулей. В виртуальном окружении PYTHONPATH будет содержать путь к каталогу `lib/pythonX.Y/site-packages` виртуального окружения.
## PYTHONHOME
Переменная окружения `PYTHONHOME` используется для указания каталога, в котором находятся стандартные библиотеки Python. В виртуальном окружении `PYTHONHOME` должна быть пустой, так как все необходимые стандартные библиотеки будут включены в виртуальное окружение.
## PYTHONUNBUFFERED
Переменная окружения `PYTHONUNBUFFERED` используется для указания, как Python будет выводить данные в поток стандартного вывода. Если эта переменная установлена в любое значение, кроме 0, то вывод Python будет не буферизироваться.
## PYTHONHASHSEED
Переменная окружения `PYTHONHASHSEED` используется для управления поведением функции хеширования Python. Если эта переменная установлена в любое значение, кроме 0, то Python будет использовать эту переменную в качестве начального значения для функции хеширования.
## PIP_DISABLE_PIP_VERSION_CHECK
Переменная окружения `PIP_DISABLE_PIP_VERSION_CHECK` используется для отключения проверки версии pip при запуске команды pip. Если эта переменная установлена, то pip не будет проверять, есть ли новая версия pip.
## PIP_DEFAULT_TIMEOUT
Переменная окружения `PIP_DEFAULT_TIMEOUT` используется для установки значения тайм-аута для HTTP-запросов, выполняемых pip. По умолчанию тайм-аут составляет 15 секунд.
## PIP_INDEX_URL.
Переменная окружения `PIP_INDEX_URL` используется для указания URL-адреса, где нужно искать пакеты Python. Если эта переменная установлена, то pip будет искать пакеты Python на указанном URL-адресе.
## PIP_NO_CACHE_DIR
Переменная окружения `PIP_NO_CACHE_DIR` используется для указания, нужно ли использовать кэширование при установке пакетов Python с помощью pip. Если эта переменная установлена, то pip будет загружать пакеты Python каждый раз, когда они запрашиваются.
## PIP_FIND_LINKS
Переменная окружения `PIP_FIND_LINKS` используется для указания дополнительных URL-адресов, где нужно искать пакеты Python. Если эта переменная установлена, то pip будет искать пакеты Python на указанных URL-адресах в дополнение к тем, которые указаны в переменной `PIP_INDEX_URL`.
## PIP_EXTRA_INDEX_URLS
Переменная окружения `PIP_EXTRA_INDEX_URLS` используется для указания дополнительных URL-адресов, где нужно искать пакеты Python. Если эта переменная установлена, то pip будет искать пакеты Python на указанных URL-адресах в дополнение к тем, которые указаны в переменной `PIP_INDEX_URL`.
## PIP_REQUIRE_VIRTUALENV
Переменная окружения `PIP_REQUIRE_VIRTUALENV` используется для указания, нужно ли устанавливать пакеты Python только в виртуальных окружениях. Если эта переменная установлена в любое значение, кроме 0, то pip будет устанавливать пакеты Python только в активированных виртуальных окружениях.
## PIP_RESPECT_VIRTUALENV
Переменная окружения `PIP_RESPECT_VIRTUALENV` используется для указания, нужно ли обращаться к системным пакетам Python или только к пакетам, установленным в виртуальном окружении. Если эта переменная установлена в любое значение, кроме 0, то pip будет обращаться только к пакетам, установленным в виртуальном окружении.
## PIP_IGNORE_INSTALLED
Переменная окружения `PIP_IGNORE_INSTALLED` используется для указания, нужно ли игнорировать уже установленные пакеты Python при установке новых пакетов с помощью pip. Если эта переменная установлена в любое значение, кроме 0, то pip будет игнорировать уже установленные пакеты Python.
## PIP_DOWNLOAD_CACHE
Переменная окружения `PIP_DOWNLOAD_CACHE` используется для указания каталога, в котором будут сохраняться загруженные пакеты Python. Если эта переменная установлена, то загруженные пакеты Python будут сохраняться в указанном каталоге.
## PIP_LOG_FILE
Переменная окружения `PIP_LOG_FILE` используется для указания пути к файлу журнала, в котором будут храниться сообщения об ошибках при работе с pip. Если эта переменная установлена, то сообщения об ошибках pip будут записываться в указанный файл журнала.
## PIP_NO_COLOR
Переменная окружения `PIP_NO_COLOR` используется для указания, нужно ли использовать цветовую схему при выводе сообщений pip. Если эта переменная установлена в любое значение, кроме 0, то цветовая схема не будет использоваться.
## PIP_VERBOSE
Переменная окружения `PIP_VERBOSE` используется для указания, нужно ли выводить подробную информацию о работе pip. Если эта переменная установлена в любое значение, кроме 0, то pip будет выводить подробную информацию о процессе установки пакетов Python.

---
В заключение, при работе с виртуальными окружениями Python очень важно знать, какие переменные окружения можно использовать в виртуальном окружении. В этой статье мы рассмотрели список переменных окружения `virtualenv`, которые можно использовать при работе с виртуальными окружениями Python. Этот список может помочь вам лучше понимать поведение Python и сторонних библиотек, а также поможет вам настроить свой процесс работы с виртуальными окружениями более эффективно и удобно.