Python install pip without internet

How to install Python libraries without Internet

Hello everyone, today we are going to explain how to Install python libraries without internet.

Let us assume that we have started working in the IT Ingestion department where is No internet connectivity at all or there is restricted internet connectivity for the workstations.

We could only download files from the internet but this goes through a security scan before allowing us to download the file.

In this situation we couldn’t use the Python default package manager pip to get the packages from PyPI (Python Package Index) directly and install them in our Python environments.

In the workstation we have installed only python3 with 32 bits and no more else.

As an example I want to install pandas without internet on the terminal.

On the system that has access to internet

Step 1: Download the Python Installer binaries

  1. Open the official Python website in your web browser. Navigate to the Downloads tab for Windows.
  2. Choose the latest Python 3 release. In our example, we choose the latest Python 3.8 version.
  3. Click on the link to download Windows x86 executable installer if you are using a 32-bit installer.
Читайте также:  Комбинированная плита beko css 53010 gw

In this project I will use Python 3.8

Step 2: Run the Executable Installer

  1. Once the installer is downloaded, run the Python installer.
  2. We do not need Install launcher for all users check box. Further,we dont need check the Add Python 3.8 to path to include the interpreter in the execution path because we will do mannually

image-20220708091110885

and we copy the path where says Start in

image-20220708091749952

Step 3: Install environment

After Python is installed we go to the terminal and paste our location from our copied address, for example

set path=C:\Users\YOUR_USERNAME\AppData\Local\Programs\Python\Python38-32\Scripts;%path% 

The above should set your 32 bit to be found before your 64 bit.

We can updating pip type the following command in terminal or cmd or powershell

python -m pip install --upgrade pip 

we create a folder called win32

you activate the new environment

cd internet/Scripts/ activate cd .. cd .. 

if you are in linux is simply

source yesinternet/Scripts/activate 

we create a file requirements.txt

pip list --format=freeze > requirements.txt 
pip download -r requirements.txt -d "./dependencies" 
 tar cvfz dependencies.tar.gz dependencies 
pip download -r requirements.txt -d "./dependencies" 
tar cvfz dependencies.tar.gz dependencies 

On the system that has NO access to internet

Step 4: Install Python libraries

Once you transfer the dependencies.tar.gz to the machine which does not have internet you would do:

First we need to create an environment

tar zxvf dependencies.tar.gz 

Источник

Как установить модули python без интернета и pip?

Возникла проблема, есть основной пк на котором есть интернет и pip, но пакеты нужно установить на компьютер, на котором нет интернета, и нет возможности установить pip.

Средний 2 комментария

kgb_zor

Web Dentist, насколько я понял там для установки .whl используется pip, а у меня его нет возможности установить.

trapwalker

Kostyan4ik, почему это нет возможности? С питоном всегда можно найти какую-нибудь возможность.

Вот, к примеру, вы можете на том компе, где есть питон и интернет, скачать все необходимые пакеты с помощью того же pip:
pip download pip
Так вы можете скачать все необходимые пакеты и принести их на машину без инета просто на флешке.
А там:

python pip-20.1.1-py2.py3-none-any.whl/pip install pip-20.1.1-py2.py3-none-any.whl

Тут происходит маленькая магия: вы с помощью питона запускаете pip прямо изнутри локально лежащего файла с его дистрибутивом. Этим pip’ом вы ставите самого себя на локальную машину. Примерно как Барон Мюнхаузен, но не больно.

Вы также можете сохранить перечень всех установленных пакетов на компе с инетом в текстовый файл, а потом, убрав из него лишнее, скачать все эти пакеты в локальный каталог, отнести на оффлайн-комп и там ставить через тот же pip

pip freeze > r.txt pip download -r r.txt

Источник

Python3 установка pip пакетов offline

Бывает необходимо установить пакеты для python на машине без интернета. Способов много, я выбрал для себя один, его и использую. «Легко» и «просто» можно скачать необходимые пакеты вместе с зависимостями и установить на другой машине, если сделать следующие.

На машине с интернетом

python3 -m venv vevn source venv/bin/active pip install pip --upgrade # директория для скачивания пакетов mkdir pkg cd pkg # отдельно скачиваю последнею версию pip pip download pip # скачиваю необходимые пакеты с зависимостями pip download -r ../requirements.txt

На машине без интернета

python3 -m venv vevn source venv/bin/active # устанавливаю ранее скаченный pip (версия может быть другая) pip install pkg/pip-20.1-py2.py3-none-any.whl # установка пакетов из списка requirements.txt, пакеты должны лежать в pkg (директория) pip install --no-index --find-links pkg -r requirements.txt

Результат выполнения

# вывод консоли у меня pip install --no-index --find-links pkg -r requirements.txt Looking in links: pkg Processing ./pkg/Flask-1.1.2-py2.py3-none-any.whl Processing ./pkg/Flask_WTF-0.14.3-py2.py3-none-any.whl Processing ./pkg/et_xmlfile-1.0.1.tar.gz Processing ./pkg/openpyxl-3.0.3.tar.gz Processing ./pkg/jdcal-1.4.1-py2.py3-none-any.whl Processing ./pkg/pylint-2.5.2-py3-none-any.whl Processing ./pkg/itsdangerous-1.1.0-py2.py3-none-any.whl Processing ./pkg/Jinja2-2.11.2-py2.py3-none-any.whl Processing ./pkg/Werkzeug-1.0.1-py2.py3-none-any.whl Processing ./pkg/click-7.1.2-py2.py3-none-any.whl Processing ./pkg/WTForms-2.3.1-py2.py3-none-any.whl Processing ./pkg/mccabe-0.6.1-py2.py3-none-any.whl Processing ./pkg/isort-4.3.21-py2.py3-none-any.whl Processing ./pkg/toml-0.10.1-py2.py3-none-any.whl Processing ./pkg/astroid-2.4.1-py3-none-any.whl Processing ./pkg/MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl Processing ./pkg/typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl Processing ./pkg/wrapt-1.12.1.tar.gz Processing ./pkg/lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl Processing ./pkg/six-1.14.0-py2.py3-none-any.whl Could not build wheels for et-xmlfile, since package 'wheel' is not installed. Could not build wheels for openpyxl, since package 'wheel' is not installed. Could not build wheels for wrapt, since package 'wheel' is not installed. Installing collected packages: itsdangerous, MarkupSafe, Jinja2, Werkzeug, click, Flask, WTForms, Flask-WTF, et-xmlfile, jdcal, openpyxl, mccabe, isort, toml, typed-ast, wrapt, lazy-object-proxy, six, astroid, pylint Running setup.py install for et-xmlfile . done Running setup.py install for openpyxl . done Running setup.py install for wrapt . done Successfully installed Flask-1.1.2 Flask-WTF-0.14.3 Jinja2-2.11.2 MarkupSafe-1.1.1 WTForms-2.3.1 Werkzeug-1.0.1 astroid-2.4.1 click-7.1.2 et-xmlfile-1.0.1 isort-4.3.21 itsdangerous-1.1.0 jdcal-1.4.1 lazy-object-proxy-1.4.3 mccabe-0.6.1 openpyxl-3.0.3 pylint-2.5.2 six-1.14.0 toml-0.10.1 typed-ast-1.4.1 wrapt-1.12.1

Мой файл requirements.txt для примера

Flask==1.1.2 Flask-WTF==0.14.3 et-xmlfile==1.0.1 openpyxl==3.0.3 jdcal==1.4.1 pylint==2.5.2

Установка из tar.gz или whl

# установка одного пакета из архива pip install ./pkg-name.tar.gz

Источник

DevOps Notes

Featured image of post Установка Python пакетов в оффлайн

Avatar

Создадим виртуальное окружение для того, чтобы скачать все зависимости, но при этом не захватить ненароком лишнего. Поставим virtualenv.

python3 -m pip install --upgrade --user virtualenv python3 -m pip virtualenv venv 

Готовим нужные пакеты ¶

Установив в чистом окружении только то, что нужно, мы заодно подтянем все зависимости, но кроме всего прочего, захватите с собой ещё setuptools и pip.

python3 -m pip install --upgrade pip setuptools ansible 
python3 -m pip freeze > requirements.txt 

Можно просто дописать pip и setuptools в requirements.txt без указания версий (если их вообще нет в списке)

 1 2 3 4 5 6 7 8 9 10 11 12 
ansible==3.4.0  ansible-base==2.10.11  cryptography==2.8  jinja2==2.11.3  netaddr==0.7.19  pbr==5.4.4  jmespath==0.9.5  ruamel.yaml==0.16.10  ruamel.yaml.clib==0.2.2  MarkupSafe==1.1.1  pip  setuptools 
python3 -m pip download --dest my-pip-packages -r requirements.txt 
tar -cpvzf pips.tgz my-pip-packages requirements.txt 

Устанавливаем в окружении без Интернета ¶

  1. Добавить sudo в начале
  2. Добавить аргумент —user к pip-у для установки пакетов только для пользователя выполняющего команду
tar -xpzvf pips.tgz python3 -m pip install --upgrade --no-index --find-links python-packages pip setuptools python3 -m pip install --upgrade --no-index --find-links my-pip-packages -r requirements.txt 

Теперь можно запускать Ansible!

[email protected]:/host# ansible --version ansible 2.10.11  config file = None  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']  ansible python module location = /usr/local/lib/python3.6/dist-packages/ansible  executable location = /usr/local/bin/ansible  python version = 3.6.9 (default, Jan 26 2021, 15:33:00) [GCC 8.4.0] 

Локали ¶

Случалось так, что в сильно урезанном окружении, как, к примеру, Docker Ubuntu 18.04, утановка пакетов падает со следующей ошибкой.

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
ERROR: Exception: Traceback (most recent call last):  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/base_command.py", line 173, in _main  status = self.run(options, args)  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/req_command.py", line 203, in wrapper  return func(self, options, args)  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/commands/install.py", line 316, in run  reqs, check_supported_wheels=not options.target_dir .  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/operations/prepare.py", line 249, in unpack_url  unpack_file(file.path, location, file.content_type)  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/unpacking.py", line 256, in unpack_file  untar_file(filename, location)  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/unpacking.py", line 226, in untar_file  with open(path, "wb") as destfp: UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 117: ordinal not in range(128) 

Решается установкой переменных окружения перед установкой пакетов.

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
export LANGUAGE="" export LANG="C.UTF-8" export LC_CTYPE="C.UTF-8" export LC_NUMERIC="C.UTF-8" export LC_TIME="C.UTF-8" export LC_COLLATE="C.UTF-8" export LC_MONETARY="C.UTF-8" export LC_MESSAGES="C.UTF-8" export LC_PAPER="C.UTF-8" export LC_NAME="C.UTF-8" export LC_ADDRESS="C.UTF-8" export LC_TELEPHONE="C.UTF-8" export LC_MEASUREMENT="C.UTF-8" export LC_IDENTIFICATION="C.UTF-8" export LC_ALL="C.UTF-8" 

Licensed under Apache License, Version 2.0

Обновлено Dec 25, 2022 19:15 +0200

Источник

Оцените статью