Cách cài đặt các gói Python từ tệp tar.gz mà không cần sử dụng cài đặt pip


81

Tóm lại, máy tính làm việc của tôi có hạn chế về mạng có nghĩa là cố gắng sử dụng pip installtrong cmd chỉ dẫn đến hết thời gian / không tìm thấy lỗi gói.

Ví dụ; khi tôi cố gắng pip install seaborn: nhập mô tả hình ảnh ở đây

Thay vào đó, tôi đã cố gắng tải xuống tệp tar.gz của các gói mà tôi muốn, tuy nhiên, tôi không biết cách cài đặt chúng. Tôi đã giải nén các tệp từ tệp tar.gz và có một tệp "thiết lập" bên trong nhưng nó không hiệu quả với tôi.

Nếu ai đó có thể giải thích cách cài đặt các gói python theo cách này mà không cần sử dụng pip installtrên windows thì điều đó thật tuyệt vời.

Câu trả lời:


129

Bạn có thể sử dụng pipcho điều đó mà không cần sử dụng mạng. Xem trong tài liệu (tìm kiếm "Cài đặt tệp lưu trữ nguồn cụ thể"). Bất kỳ trong số đó sẽ hoạt động:

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    

Hoặc bạn có thể giải nén kho lưu trữ và sử dụng setup.pytrực tiếp với piphoặc python:

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

Tất nhiên, bạn cũng nên tải xuống các gói yêu cầu và cài đặt chúng theo cách tương tự trước khi tiếp tục.


Điều này gây ra lỗi sau:You must give at least one requirement to install (maybe you meant "pip install file:///absolute path.."?)
yenoolnairb

và tôi đã thực sự bước vào con đường trong trường hợp bạn đang thắc mắc!
yenoolnairb

Nếu bạn có thể tải xuống trên một máy khác và mang chúng đến, bạn có thể tải xuống từng phụ thuộc bạn cần và cài đặt chúng theo cách này theo thứ tự sao cho gói mong muốn đã đáp ứng tất cả các phụ thuộc và không cần kết nối mạng nữa. Tức là, Aphụ thuộc vào B. Vì vậy, cài đặt B, sau đó A.
Hawkins

24

Bạn có thể cài đặt tarball mà không cần giải nén nó trước. Chỉ cần điều hướng đến thư mục chứa .tar.gztệp của bạn từ dấu nhắc lệnh và nhập lệnh này:

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

Tôi đang chạy python 3.4.3 và điều này phù hợp với tôi. Tôi không thể biết liệu điều này có hoạt động trên các phiên bản python khác hay không.


3
Chạy phần này trên python 3.4.3 và pip 9.0.1 Tôi gặp lỗi liên quan đến tệp tạm thời: [Errno 2] No such file or directory: '/tmp/pip-anjip21-build/setup.py đang chạy trên Jessie (raspberry pi 3)
Magic_Matt_Man 17/02/17

@Magic Xem các ví dụ trong tài liệu chính thức . Vì vậy, nó sẽ hoạt động. Từ thông báo lỗi bạn cho thấy có vẻ như tarball bạn đang cố cài đặt không tuân theo các quy ước đặt tên tệp thích hợp.
Sнаđошƒаӽ

1
pip install * .tar.gz sẽ cài đặt tất cả các gói trong thư mục ... chỉ cố gắng giúp :)
Lev

9

Nhờ các câu trả lời kết hợp dưới đây, tôi đã làm cho nó hoạt động.

  • Trước tiên, cần giải nén tệp tar.gz vào một thư mục.
  • Sau đó trước khi chạy python setup.py installphải trỏ cmd về đúng thư mục. Tôi đã làm điều này bởipushd C:\Users\absolutefilepathtotarunpackedfolder
  • Sau đó chạy python setup.py install

Cảm ơn Tales Padua & Hugo Honorem


Bạn có thể chỉnh sửa các biến PATH của máy mình không? Nếu vậy, bạn có thể thêm python với nó, và bất cứ nơi nào sử dụng python mà không cần phải sử dụng pushd
Tales Padua

Trên thực tế, bạn không cần phải giải nén tệp tar.gz để cài đặt nó. Hãy xem câu trả lời của tôi
Sнаđошƒаӽ

6

Cài đặt nó bằng cách chạy

python setup.py install

Tốt hơn, bạn có thể tải xuống từ github. Cài đặt git qua apt-get install gitvà sau đó làm theo các bước sau:

git clone https://github.com/mwaskom/seaborn.git
cd seaborn
python setup.py install

No such file or directory Điều này có thể liên quan đến việc thiết lập các tệp và thư mục của tôi. Python là con sẽ không được ở nơi mặc định Python thường sẽ cài đặt
yenoolnairb

giải nén từ tar, đi đến thư mục có setup.py, rồi chạy lệnh trên
Tales Pádua

Tôi có cần sửa đổi mã ở trên để trỏ nó trực tiếp đến vị trí của tar được giải nén không? Vì tôi vẫn nhận đượcno such file or directory
yenoolnairb

Giải nén tar.gz đến một nơi nào đó. Sau đó, từ thiết bị đầu cuối, hãy chuyển đến thư mục mà bạn đã giải nén nó. Bạn cần phải ở trên thư mục nơi setup.py và sau đó chạy lệnh này
Tales Pádua

Không may github bị chặn trên máy tính làm việc của tôi !! Mặc dù vậy, tôi đã làm việc ngay bây giờ; cảm ơn
yenoolnairb

4

Đối với những người bạn sử dụng python3, bạn có thể sử dụng:

python3 setup.py install

3

Nếu bạn không muốn sử dụng PIP install atall, thì bạn có thể làm như sau:

1) Tải xuống gói 2) Sử dụng 7 zip để giải nén các tệp tar. (Sử dụng lại 7 zip cho đến khi bạn thấy một thư mục có tên gói bạn đang tìm kiếm. Ví dụ: wordcloud)

Thư mục theo tên 'wordcloud'

3) Định vị thư mục thư viện Python nơi python được cài đặt và dán chính thư mục 'WordCloud' vào đó

Thư mục Thư viện Python

4) Thành công !! Bây giờ bạn có thể nhập thư viện và bắt đầu sử dụng gói.

nhập mô tả hình ảnh ở đây


1
Điều này hoạt động hoàn hảo cho các tình huống sử dụng tạo piperror(10054, 'An existing connection was forcibly closed by the remote host')
adin

0

Bạn có thể sử dụng sudo apt-get install python-seabornthay thế không? Về cơ bản tar.gz chỉ là một tập tin zip chứa thiết lập, vì vậy việc bạn muốn làm là giải nén nó, cd vào nơi tải về và sử dụng gunzip -c seaborn-0.7.0.tar.gz | tar xf -cho linux. Thay đổi từ điển thành tệp được giải nén sơ sinh mới và thực thipython setup.py install


Okey, vì vậy anh ấy có thể sử dụng một trình giải nén khác như 7-zip, nó khá không liên quan đến việc anh ấy sử dụng trình
giải nén nào

có thể, dù sao đi nữa, các hướng dẫn như sau: giải nén thư mục -> Từ điển thay đổi trong dòng lệnh của bạn vào thư mục đó -> thực hiệnpython setup.py install
Deusdeorum
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.