Перейти к содержанию

Переносим установленные пакеты на машину у которой нет доступа к сети

Рабочая схема

1) На машине с доступом к репозиторию pip выполняем шаги:

    python3 -m venv venv
    source venv/bin/activate

    pip install <нужный пакет>
    pip freeze > requirements.txt

    mkdir -p wheelhouse
    pip download -r requirements.txt -d wheelhouse

2) Переносим requirements.txt и папку wheelhouse не машину где нет доступа к pip 3) На офф машине выполняем шаги:

    python3 -m venv venv
    source venv/bin/activate

    pip install --no-index --find-links=wheelhouse -r requirements.txt

Когда добавляешь новый пакет

Например добавил openpyxl

1) На машине с интернетом:

    source venv/bin/activate

    pip install openpyxl
    pip freeze > requirements.txt

    pip download -r requirements.txt -d wheelhouse

2) Переносим requirements.txt и wheelhouse на целевую машину

3) на оффлайн-машине

    source venv/bin/activate
    pip install --no-index --find-links=wheelhouse -r requirements.txt

Важно

на оффлайн-машине ничего не ставим из интернета.

Вся работа выполняется с папкой wheelhouse

Если нужно перенести один конкретный пакет на offline машину

1) Создаем директорию и скачиваем нужный пакет

mkdir wheels
pip download pg8000 -d wheels

2) Переносим директорию и устанавливаем пакет

pip install --no-index --find-links=./wheels pg8000