Как установить пакеты Python из файла tar.gz без использования pip install

81

Короче говоря, у моего рабочего компьютера есть сетевые ограничения, что означает, что попытка использовать pip installв cmd просто приводит к тайм-ауту / не обнаружению ошибок пакета.

Например; когда я пытаюсь pip install seaborn: введите описание изображения здесь

Вместо этого я попытался загрузить файл tar.gz тех пакетов, которые мне нужны, однако я не знаю, как их установить. Я извлек файлы из файла tar.gz, и в нем есть "установочный" файл, но он мне не помогает.

Если бы кто-то мог объяснить, как устанавливать пакеты python таким образом, не используя pip installв Windows, это было бы потрясающе.

yenoolnairb
источник

Ответы:

129

Вы можете использовать pipдля этого без использования сети. См. В документации (поиск «Установить определенный исходный архивный файл»). Любой из них должен работать:

pip install relative_path_to_seaborn.tar.gz    
pip install absolute_path_to_seaborn.tar.gz    
pip install file:///absolute_path_to_seaborn.tar.gz    

Или вы можете распаковать архив и использовать его setup.pyнапрямую с помощью pipили python:

cd directory_containing_tar.gz
tar -xvzf seaborn-0.10.1.tar.gz
pip install seaborn-0.10.1
python setup.py install

Конечно, вы также должны загрузить необходимые пакеты и установить их таким же образом, прежде чем продолжить.

Жером
источник
Это дает следующую ошибку:You must give at least one requirement to install (maybe you meant "pip install file:///absolute path.."?)
yenoolnairb
и я действительно вступил на путь, если вам интересно!
yenoolnairb
Если вы можете загрузить на другой компьютер и перенести их, можно загрузить каждую нужную вам зависимость и установить их таким образом в таком порядке, чтобы в желаемом пакете были соблюдены все зависимости и больше не требовалось сетевое соединение. Т.е., Aзависит от B. Поэтому установить B, затем A.
Хокинс
24

Вы можете установить tarball, не распаковывая его предварительно. Просто перейдите в каталог, содержащий ваш .tar.gzфайл, из командной строки и введите эту команду:

pip install my-tarball-file-name.tar.gz

Я запускаю python 3.4.3, и у меня это работает. Я не могу сказать, сработает ли это на других версиях Python.

Sнаđошƒаӽ
источник
3
Запустив это на python 3.4.3 и pip 9.0.1, я получаю сообщение об ошибке, относящееся к временному файлу: [Errno 2] No such file or directory: '/tmp/pip-anjip21-build/setup.py запущено на Jessie (raspberry pi 3)
Magic_Matt_Man
@Magic См. Примеры в официальных документах . Значит, это должно работать. Из сообщения об ошибке, которое вы показали, кажется, что tarball, который вы пытаетесь установить, не соответствует надлежащим соглашениям об именах файлов.
Sнаđошƒаӽ
1
pip install * .tar.gz установит все пакеты в каталог ... просто пытаюсь помочь :)
Лев,
9

Благодаря приведенным ниже ответам, у меня все работает.

  • Сначала нужно было распаковать файл tar.gz в папку.
  • Затем перед запуском python setup.py installнужно было указать cmd на правильную папку. Я сделал этоpushd C:\Users\absolutefilepathtotarunpackedfolder
  • Тогда беги python setup.py install

Спасибо Tales Padua и Hugo Honorem

yenoolnairb
источник
Можете ли вы редактировать переменные PATH вашего компьютера? Если это так, вы можете добавить к нему python и использовать python где угодно без использования pushd
Tales Pádua
На самом деле вам не нужно извлекать файл tar.gz для его установки. Взгляните на мой ответ
Sнаđошƒаӽ
6

Установите его, запустив

python setup.py install

А еще лучше скачать с github. Установите git через, apt-get install gitа затем выполните следующие действия:

git clone https://github.com/mwaskom/seaborn.git
cd seaborn
python setup.py install
Tales Pádua
источник
No such file or directory Это могло быть связано с настройкой моих файлов и папок. Python не будет в том месте, где Python обычно устанавливается по умолчанию
yenoolnairb
распаковать из tar, перейти в папку, где находится setup.py, а затем выполнить команду выше
Tales Pádua
Нужно ли мне изменить приведенный выше код, чтобы он указывал прямо на то, где находится распакованный tar? Потому что я все еще получаюno such file or directory
yenoolnairb
Распакуйте tar.gz куда-нибудь. Затем из терминала перейдите в папку, в которую вы его распаковали. Вам нужно оказаться в папке, где находится setup.py, а затем запустить эту команду
Tales Pádua
К сожалению, на моем рабочем компьютере заблокирован github !! Но теперь он у меня работает; спасибо
yenoolnairb
4

Для тех из вас, кто использует python3, вы можете использовать:

python3 setup.py install
Шерша Фн
источник
3

Если вы не хотите использовать PIP install atall, вы можете сделать следующее:

1) Загрузите пакет 2) Используйте 7 zip для распаковки файлов tar. (Снова используйте 7 zip, пока не увидите папку с именем пакета, который вы ищете. Пример: wordcloud)

Папка по имени 'wordcloud'

3) Найдите папку библиотеки Python, в которой установлен python, и вставьте туда саму папку WordCloud.

Папка библиотеки Python

4) Успех !! Теперь вы можете импортировать библиотеку и начать использовать пакет.

введите описание изображения здесь

СВК
источник
1
Это идеально подходит для ситуаций, когда использование pip генерируетerror(10054, 'An existing connection was forcibly closed by the remote host')
adin
0

Можно ли sudo apt-get install python-seabornвместо этого использовать ? По сути, tar.gz - это просто zip-файл, содержащий установку, поэтому вам нужно разархивировать его, записать компакт-диск в то место, где он был загружен, и использовать gunzip -c seaborn-0.7.0.tar.gz | tar xf -для Linux. Измените словарь в новый разархивированный файл seaborn и выполнитеpython setup.py install

Деусдеорум
источник
Окей, так что он мог бы использовать другую застежку-молнию, такую ​​как 7-zip, совершенно неважно, какую именно застежку-молнию он использует ..
Deusdeorum
в любом случае, инструкции могут быть следующие: распаковать папку -> заменить словарь в командной строке в эту папку -> выполнитьpython setup.py install
Deusdeorum