В Python 3.8 предлагается добавить альтернативу виртуальным окружениям — локальную директорию с пакетами PEP 582 Python local packages directory.
Данный PEP предлагает добавить в Python механизм автоматического обнаружения директории __pypackages__
и использовать её при импорте в качестве источника установленных пакетов. Директория __pypackages__
будет иметь больший приоритет при импорте, чем глобальные или пользовательские директории с пакетами. Это позволит исключить создание, активацию или деактивацию виртуальных окружений.
Вот так будет выглядеть в Python 3.8 структура пакета с использованием __pypackages__
:
foo
__pypackages__
3.8
lib
bottle
myscript.py
В статье я расскажу как использовать локальную директорию с пакетами не дожидаясь выхода Python 3.8.