Создать виртуальное окружение:
python3 -m venv env
Активировать окружение:
. env/bin/active 
Сохранить текущий список установленных пакетов: 

python -m pip freeze > requirements.txt

Восстановить список установленных пакетов: 

pip install -r requirements.txt

Создадим локальный репозиторий пакетов: 

mkdir /home/pypi/

chmod 777 /home/pypi/

pip install python-pypi-mirror
pypi-mirror download --help

#pypi-mirror download -d downloads requests
pypi-mirror download -d /home/pypi/ -r requirements.txt

Запустим сервер:

pip install pypiserver
pypi-server -p 8080 /home/pypi/

Работать так:

pip install -i http://localhost:8080/simple django

или созать $HOME/.pip/pip.conf:

[global]
index-url = http://localhost:8080/simple/

и ваполнять без дополнительных парпметров:

pip install django

Источник:

Как создать проект на Django: руководство для начинающих

Как собрать своё зеркало PyPI на nginx за вечер (и не зависеть от блокировок pypi.org)

python-pypi-mirror

Python: установка пакетов в изолированной среде без интернета