Làm cách nào để cài đặt gói Python với tệp .whl?


873

Tôi gặp sự cố khi cài đặt gói Python trên máy Windows của mình và muốn cài đặt gói này với các nhị phân Window của Christoph Gohlke. (Theo kinh nghiệm của tôi, đã giảm bớt phần lớn sự phiền phức cho nhiều cài đặt gói khác). Tuy nhiên, chỉ có các tập tin .whl có sẵn.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype

Nhưng làm cách nào để cài đặt tập tin .whl?

Ghi chú

  • Tôi đã tìm thấy các tài liệu trên bánh xe , nhưng chúng dường như không quá rõ ràng trong việc giải thích cách cài đặt các tệp .whl.
  • Câu hỏi này trùng lặp với câu hỏi này , không được trả lời trực tiếp.


12
Điều gì đã thúc đẩy việc chuyển từ exe sang whl nào? Thông thường mọi người cố gắng làm cho mọi thứ dễ sử dụng hơn là khó hơn.
rhaskett

4
@rhaskett lợi ích so với .exe là các nhà xuất bản chỉ phải tải lên một bánh xe (thường) để hỗ trợ tất cả các phiên bản Python. Mặc dù bạn đúng, bánh xe ít dễ dàng hơn cho những người đang cố gắng cài đặt các gói. Sẽ thật gọn gàng nếu bạn có thể nhấp đúp vào tệp .whl.
Đại tá hoảng loạn


1
pip install ...không yêu cầu gói bánh xe ; pip wheel ...làm.
cgohlke

Câu trả lời:


1038

Tôi chỉ sử dụng sau đây là khá đơn giản. Trước tiên hãy mở bảng điều khiển sau đó cd đến nơi bạn đã tải xuống tệp của mình như some-pack.whl và sử dụng

pip install some-package.whl

Lưu ý: nếu pip.exe không được nhận dạng, bạn có thể tìm thấy nó trong thư mục "Tập lệnh" từ nơi python đã được cài đặt. Nếu pip không được cài đặt, trang này có thể giúp: Làm cách nào để cài đặt pip trên Windows?

Lưu ý: để làm rõ
Nếu bạn sao chép *.whltệp vào ổ đĩa cục bộ của mình (ví dụ : C: \ some-dir \ some-file.whl ) sử dụng các tham số dòng lệnh sau -

pip install C:/some-dir/some-file.whl

45
Bạn không cần pip install wheel. Lệnh pip install some-package.whllà đủ. Chỉ đảm bảo pip được cập nhật, như tuyên bố của burhan-khalid.
divenex

7
Ngoài ra, bạn nên mở dấu nhắc lệnh với tư cách quản trị viên để chạy pip trong windows
Mr Alexander

60
python -m pip install some-package.whlcũng hoạt động nếu không tìm thấy pip trong PATH.
Cồn cát

31
Cài đặt mô-đun Python trong cài đặt ngoại tuyến đang gây phẫn nộ. Không có pip rõ ràng. OK, vậy có một setup.py ... Nhưng nó không hoạt động? Oh nó yêu cầu setuptools. Tuyệt vời. Được rồi cài đặt setuptools - cái gì đây, cái gì? Oh, điều đó đòi hỏi pip! Cảm giác như mình bị mắc kẹt trong một vòng lặp.
GVH

6
Đối với python 3 tôi đã sử dụng pip3thay vì pip(tôi đã có 2.7 và hiện có 3.4). Dù sao, đây là một lời nhắc nhở thân thiện mà đôi khi pip3là những gì bạn cần.
genorama

63

Trước tiên, hãy đảm bảo bạn đã cập nhật pip để bật hỗ trợ bánh xe:

pip install --upgrade pip

Sau đó, để cài đặt từ bánh xe, hãy đưa nó vào thư mục nơi bánh xe được tải xuống. Ví dụ: để cài đặt package_name.whl:

pip install --use-wheel --no-index --find-links=/where/its/downloaded package_name

10
"Bánh xe" là gì?
Peter Mortensen

2
Sử dụng mà không có --use-wheeltrong pip 19.0.1 (python 2.7)
Rado

1
@PeterMortensen định dạng gói, whlviết tắt của
OrangeDog

19

Tôi ở cùng thuyền với OP.

Sử dụng dấu nhắc lệnh của Windows, từ thư mục:

C:\Python34\Scripts>
pip install wheel

dường như làm việc

Thay đổi thư mục thành nơi đặt whl, nó chỉ cho tôi biết 'pip không được nhận ra'. Quay trở lại C:\Python34\Scripts>, sau đó sử dụng lệnh đầy đủ ở trên để cung cấp vị trí 'where / it / download', nó nói Requirement 'scikit_image-...-win32.whl' looks like a filename, but the filename does not exist.

Vì vậy, tôi đã bỏ một bản sao .whl trong Python34 / ScScript, chạy lại lệnh chính xác tương tự (với việc --find-links=vẫn chuyển sang thư mục khác) và lần này nó hoạt động.


10
@EinarSundgren Tôi không đồng ý, anh ấy liệt kê tất cả các bước khiến anh ấy giải quyết vấn đề của op.
runDOSrun

1
Để tránh phải đứng trong C:\Python34\Scriptsthư mục khi chạy pip, thay vào đó hãy thêm thư mục đó vào đường dẫn hệ thống. Đối với những người không biết làm thế nào: windowsitpro.com/systems-management/...
Godsmith

3
Một ví dụ khác, sau khi mở dấu nhắc lệnh, tôi chỉ cần dán vào đây và nhấn enter. Không có gì khác yêu cầu: C:\Python34\python.exe -m pip install requests Nó tự động tải xuống gói 'request' và cài đặt nó.
Dennis Jaheruddin

Nhận xét cuối cùng này làm việc hoàn hảo cho tôi. Có thể được đăng như một câu trả lời!
Yohan Obadia

19

Có một số phiên bản tệp trên trang web tuyệt vời của Christoph Gohlke.

Một cái gì đó tôi đã thấy quan trọng khi cài đặt các bánh xe từ trang web này là trước tiên hãy chạy nó từ bảng điều khiển Python:

import pip
print(pip.pep425tags.get_supported())

để bạn biết bạn nên cài đặt phiên bản nào cho máy tính của mình. Chọn phiên bản sai có thể không cài đặt gói (đặc biệt là nếu bạn không sử dụng thẻ CPython đúng, ví dụ: cp27).


1
Cảm ơn bạn, đã gặp khó khăn khi tìm thông tin này! Tuy nhiên, tôi không chắc cách đọc đầu ra để xác định phiên bản nào tôi cần.
Johndt6

13

Bạn phải chạy pip.exe từ dấu nhắc lệnh trên máy tính của tôi. Tôi gõC:/Python27/Scripts/pip2.exe install numpy


1
Tôi không có Scriptsthư mục. Liệu pip không đi kèm với một cài đặt thông thường?
jozxyqk

@jozxyqk: không. Xem tại đây để biết hướng dẫn cài đặt: pip.pypa.io/en/latest/installing.html
Godsmith

8

Trên Windows, bạn không thể nâng cấp bằng cách sử dụng pip install --upgrade pip, vì pip.exenó đang được sử dụng và sẽ có lỗi thay thế nó. Thay vào đó, bạn nên nâng cấp pipnhư thế này:

easy_install --upgrade pip

Sau đó kiểm tra pipphiên bản:

pip --version

Nếu nó hiển thị 6.xhàng loạt, có hỗ trợ bánh xe.

Chỉ sau đó, bạn có thể cài đặt một gói bánh xe như thế này:

pip install your-package.whl

1
Tôi vừa nâng cấp pip trên Windows 7 bằng cách sử dụng pip install --upgrade pipvà nó hoạt động rất tốt vì vậy một phần của những gì bạn nói dường như không chính xác.
martineau

1
Có lẽ các anh chàng pip nhận ra điều này và giải quyết vấn đề trong các phiên bản mới hơn ... Tôi không biết. Ít nhất là khi câu trả lời được đăng (đầu năm 2015) tôi đã gặp phải lỗi này.
Rockallite

Bạn có thể đúng. Trên thực tế, hầu hết thời gian, pip cho tôi biết có sẵn phiên bản mới hơn và đề nghị tự nâng cấp, vì vậy tôi hiếm khi làm điều đó bằng tay.
martineau

1
Chạy Python 3.5.2 trên Windows 10, "cài đặt python -m pip - nâng cấp pip" vừa nâng cấp thành công pip-8.1.1 lên pip-8.1.2
Dave Burton

6

Để có thể cài đặt các tệp bánh xe với một doubleclick đơn giản trên chúng, bạn có thể thực hiện một trong các thao tác sau:

1) Chạy hai lệnh trong dòng lệnh dưới quyền quản trị viên:

assoc .whl=pythonwheel
ftype pythonwheel=cmd /c pip.exe install "%1" ^& pause

2) Ngoài ra, chúng có thể được sao chép vào một wheel.battệp và được thực thi với hộp kiểm 'Chạy với tư cách quản trị viên' trong các thuộc tính.

PS pip.exe được coi là trong PATH.

Cập nhật:

(1) Chúng có thể được kết hợp trong một dòng:

assoc .whl=pythonwheel& ftype pythonwheel=cmd /c pip.exe install -U "%1" ^& pause

(2) Cú pháp cho các tệp .bat hơi khác nhau:

assoc .whl=pythonwheel& ftype pythonwheel=cmd /c pip.exe install -U "%%1" ^& pause

Ngoài ra đầu ra của nó có thể được thực hiện dài dòng hơn:

@assoc .whl=pythonwheel|| echo Run me with administrator rights! && pause && exit 1
@ftype pythonwheel=cmd /c pip.exe install -U "%%1" ^& pause || echo Installation error && pause && exit 1
@echo Installation successfull & pause

xem bài viết trên blog của tôi để biết chi tiết.


Hữu ích! Cảm ơn bạn, axil & Anthony. Có lẽ, để tránh sự phụ thuộc vào thư mục ScScript đang nằm trong đường dẫn, bạn có thể sử dụng: cmd / c python -m pip cài đặt "% 1" và tạm dừng
Dave Burton

Vâng, tôi đã sai. Bạn đã sử dụng pip.exe. Tuy nhiên, một vấn đề khác là nếu bạn sử dụng lệnh ftype như được hiển thị, "tạm dừng" sẽ chạy tại dấu nhắc lệnh, thay vì được lưu trữ trong sổ đăng ký như một phần của liên kết tệp. Bạn sẽ cần chạy regedit để thêm "& tạm dừng" trong lệnh shell trong sổ đăng ký. (Chỉ cần tìm kiếm đăng ký cho pythonwheel.)
Dave Burton

@DaveBurton Tôi đã sửa và cập nhật câu trả lời của mình. Cảm ơn bạn.
axil

3

EDIT: NÀY KHÔNG CÒN LÀ MỘT PHẦN CỦA PIP

Để tránh phải tải xuống các tệp như vậy, bạn có thể thử:

pip install --use-wheel pillow

Để biết thêm thông tin, xem điều này .


đảm bảo đã cài đặt phiên bản mới nhất của pip trước khi cài đặt python -m pip - nâng cấp pip
andyw

2

Trong trường hợp nếu bạn không thể cài đặt gói cụ thể trực tiếp bằng PIP.

Bạn có thể tải xuống .whlgói (bánh xe) cụ thể từ - https://www.lfd.uci.edu/~gohlke/pythonlibs/

CD (Thay đổi thư mục) vào gói đã tải xuống và cài đặt thủ công bằng cách -
pip install PACKAGENAME.whl
ví dụ:
pip install ad3‑2.1‑cp27‑cp27m‑win32.whl


1

Cách duy nhất tôi quản lý để cài đặt NumPy là như sau:

Tôi đã tải xuống NumPy từ đây https://pypi.python.org/pypi/numpy

Mô-đun này

https://pypi.python.org/packages/d7/3c/d8b473b517062cc700575889d79e7444c9b54c6072a22189d1831d2fbbce/numpy-1.11.2-cp35-none-win32.whl#md5=e485e06907826af5e1fc88608d0629a2

Thực thi lệnh từ đường dẫn cài đặt của Python trong PowerShell

PS C:\Program Files (x86)\Python35-32> .\python -m pip install C:/Users/MyUsername/Documents/Programs/Python/numpy-1.11.2-cp35-none-win32.whl
Processing c:\users\MyUsername\documents\programs\numpy-1.11.2-cp35-none-win32.whl
Installing collected packages: numpy
Successfully installed numpy-1.11.2
PS C:\Program Files (x86)\Python35-32>

PS.: Tôi đã cài đặt nó trên Windows 10.


1

Bạn có thể cài đặt tệp .whl, bằng cách sử dụng pip install filename. Mặc dù sử dụng nó trong hình thức này, nó phải nằm trong cùng thư mục với dòng lệnh của bạn, nếu không chỉ định tên tệp đầy đủ, cùng với địa chỉ của nó như thế nào pip install C:\Some\PAth\filename.

Ngoài ra, hãy đảm bảo tệp .whl có cùng nền tảng với bạn đang sử dụng, hãy python -Vtìm hiểu phiên bản Python nào bạn đang chạy và nếu đó là win32 hoặc 64, hãy cài đặt phiên bản chính xác theo nó.


1

Những gì tôi đã làm trước tiên là cập nhật pip bằng cách sử dụng lệnh: pip install --upgrade pipvà sau đó tôi cũng cài đặt bánh xe bằng cách sử dụng lệnh: pip install wheelvà sau đó nó hoạt động hoàn hảo.

Hy vọng nó hoạt động cho bạn tôi đoán.


0

Người dùng Python mới trên Windows thường quên thêm thư mục \ Sc Script của Python vào biến PATH trong quá trình cài đặt. Tôi khuyên bạn nên sử dụng trình khởi chạy Python và thực thi pip dưới dạng tập lệnh với công -mtắc. Sau đó, bạn có thể cài đặt các bánh xe cho một phiên bản Python cụ thể (nếu có nhiều hơn một cài đặt) và thư mục ScScript không phải ở trong PATH. Vì vậy, hãy mở dòng lệnh, điều hướng (bằng cdlệnh) đến thư mục chứa tệp .whl và nhập:

py -3.6 -m pip install your_whl_file.whl

Thay thế 3.6bằng phiên bản Python của bạn hoặc chỉ nhập -3nếu phiên bản Python mong muốn xuất hiện đầu tiên trong PATH. Và với một môi trường ảo hoạt động : py -m pip install your_whl_file.whl.

Tất nhiên bạn cũng có thể cài đặt các gói từ PyPI theo cách này, vd

py -3.6 -m pip install pygame

0

Tôi sẽ gợi ý cho bạn cách chính xác để cài đặt tập tin .whl. Ban đầu tôi gặp phải nhiều vấn đề nhưng sau đó tôi đã giải quyết nó, Đây là mẹo của tôi để cài đặt các tập tin .whl.

Thực hiện theo các bước đúng cách để có được một mô-đun nhập khẩu

  1. Đảm bảo tệp .whl của bạn được giữ trong thư mục python 2.7 / 3.6 / 3.7 / .. Ban đầu khi bạn tải xuống tệp .whl, tệp được giữ trong thư mục đã tải xuống, đề nghị của tôi là thay đổi thư mục. Nó làm cho nó dễ dàng hơn để cài đặt các tập tin.
  2. Mở dấu nhắc lệnh và mở thư mục mà bạn đã giữ tệp bằng cách nhập

cd c: \ trăn 3.7

3. Bây giờ, nhập lệnh được viết dưới đây

>py -3.7(version name) -m pip install (file name).whl
  1. Nhấp vào nhập và đảm bảo bạn nhập phiên bản bạn hiện đang sử dụng với tên tệp chính xác.

  2. Khi bạn nhấn enter, hãy đợi trong vài phút và tệp sẽ được cài đặt và bạn sẽ có thể nhập mô-đun cụ thể.

  3. Để kiểm tra xem mô-đun có được cài đặt thành công hay không, hãy nhập mô-đun ở chế độ chờ và kiểm tra mô-đun.

Cảm ơn bạn:)


0

Tải xuống gói (.whl).

Đặt tệp bên trong thư mục script của thư mục python

C:\Python36\Scripts

Sử dụng dấu nhắc lệnh để cài đặt gói.

C:\Python36\Scripts>pip install package_name.whl

-1

Trên MacOS, với pipcài đặt qua MacPorts vào Macthons python2.7, tôi đã phải sử dụng giải pháp @Dunes:

sudo python -m pip install some-package.whl

Trường hợp pythonđã được thay thế bởi con trăn MacPorts trong trường hợp của tôi, đó là python2.7hoặc python3.5cho tôi.

Các -mtùy chọn là "Chạy mô-đun thư viện như kịch bản" theo manpage.

(Trước đây tôi đã chạy sudo port install py27-pip py27-wheelđể cài đặt pipvà cài đặt wheelpython 2.7.)

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.