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


81

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

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

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

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

Ответы:


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.


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


Можете ли вы редактировать переменные 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

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.