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


81

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

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

Натомість я намагався завантажити файл tar.gz пакунків, які хочу, проте, я не знаю, як їх встановити. Я витягнув файли з файлу tar.gz, і всередині є файл "налаштування", але це не робить для мене багато.

Якби хтось міг пояснити, як таким чином встановлювати пакети python без використання pip installу вікнах, це було б чудово.

Відповіді:


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 працює на Джессі (
Raspberry

@Magic Див. Приклади в офіційних документах . Тож це має спрацювати. З повідомлення про помилку, яке ви показали, здається, що tarball, який ви намагаєтесь встановити, не відповідає правильним правилам іменування файлів.
Sнаđошƒаӽ

1
pip install * .tar.gz встановить всі пакунки в каталог ... просто намагаюся допомогти :)
Лев

9

Завдяки наведеним нижче відповідям у мене все працює.

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

Спасибі Казки Падуя та Уго Онорем


Чи можете ви редагувати змінні 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

Чи потрібно мені вносити зміни до наведеного вище коду, щоб направити його прямо туди, де знаходиться розпакований дьоготь? Тому що я все ще отримуюno such file or directory
yenoolnairb

Розпакуйте tar.gz кудись. Потім з терміналу перейдіть до папки, де ви його витягли. Вам потрібно бути в папці, де знаходиться setup.py, а потім виконати цю команду
Tales Pádua

Нещасний github заблокований на моєму робочому комп'ютері !! У мене зараз це працює; подяка
yenoolnairb

4

Для тих, хто використовує python3, ви можете використовувати:

python3 setup.py install

3

Якщо ви не хочете використовувати інсталяцію PIP повністю, ви можете зробити наступне:

1) Завантажте пакет 2) Використовуйте 7 zip для розпакування файлів tar. (Використовуйте 7 zip ще раз, поки не побачите папку з назвою пакунку, який ви шукаєте. Наприклад: wordcloud)

Папка за назвою 'wordcloud'

3) Знайдіть папку бібліотеки Python, де встановлений python, і вставте туди саму папку «WordCloud»

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

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

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


1
Це ідеально підходить для ситуацій, коли використання піп генеруєerror(10054, 'An existing connection was forcibly closed by the remote host')
adin

0

Чи можна використовувати sudo apt-get install python-seabornзамість цього? В основному tar.gz - це просто zip-файл, що містить інсталяцію, тож ви хочете розпакувати його, cd до місця, де він завантажується та використовується 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.