Как я могу установить пакеты pip3 в частный экземпляр?

avatar
user12095228
8 августа 2021 в 19:02
115
1
0

У меня есть сценарий Python, работающий в экземпляре внутри частной подсети, для этого сценария требуются внешние библиотеки, такие как boto3. Я не могу установить их, используя что-то вроде pip3 install boto3, потому что частные экземпляры не имеют доступа к Интернету. Как мне это сделать?

Источник
stdunbar
8 августа 2021 в 19:14
2

Как правило, частные экземпляры по-прежнему имеют исходящий доступ в Интернет именно по этой причине (наряду с обновлениями операционной системы). У вас установлен шлюз NAT?

John Rotenstein
8 августа 2021 в 23:26
0

Как подключиться к экземпляру для доступа к командной строке?

Ответы (1)

avatar
Hubert Bossy
9 августа 2021 в 00:00
2

Если вы действительно хотите установить все в автономном режиме, вы можете создать список необходимых пакетов с помощью pip download установить каждый из них по отдельности с помощью pip install <package_name.whl>:

1. Используйте venv на компьютере, подключенном к Интернету, чтобы изолировать требования от настройки вашей системы

mkdir ~/package-requirements
python3 -m venv ~/package-requirements
source ~/package-requirements/bin/activate

2. Загрузите нужный пакет и все требования в виде файлов .whl:

pip3 download pandas
  1. Скопируйте все .whl файлы из вашего рабочего каталога на целевую машину и установите каждый из них по отдельности:

    pip3 install numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

    pip3 установить pytz-2021.1-py2.py3-none-any.whl

    pip3 install six-1.16.0-py2.py3-none-any.whl

    pip3 install python_dateutil-2.8.2-py2.py3-none-any.whl

    pip3 install pandas-1.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

jordanm
9 августа 2021 в 05:41
0

Поскольку многие колеса уже зависят от платформы, можно просто создать tar-архив файла venv. Исходная машина должна быть с той же ОС.

Hubert Bossy
9 августа 2021 в 11:12
0

Если ваша платформа отличается от целевой, вы можете указать ее с помощью --platform или использовать замораживание pip, чтобы получить список необходимых пакетов и загрузить их с github в качестве исходного кода, используя теги версий или выпуски, и установить с помощью pip3 install <dir>.