2016-07-12 20 views
10

Tôi biết rằng bánh xe là phiên bản nhị phân của một mô-đun được tải lên trên PyPI.Bánh xe Python trên Linux (như thế nào? Và tại sao?)

với pip install

  • Trên Windows: Tôi nhận được bánh xe tải và cài đặt.
  • Trên Ubuntu: Tôi sẽ nhận được bản phân phối nguồn của gói NHƯNG trong some cases Tôi nhận được bánh xe.
  • On fedora: Tricky tôi phải cài đặt với DNF

Tôi cố gắng thêm bánh-my package là tốt. Nhưng tôi chỉ có thể tải lên bánh xe cho cửa sổ.

  • Tại sao một số gói cung cấp bánh xe cho nền tảng Linux?
  • Điều này có được không? Cung cấp tệp nhị phân thay vì nguồn?
  • Tại sao tôi không thể cung cấp bánh xe?

Lưu ý: Tôi biết một chút về gói rpm của Fedora. Tôi quan tâm đến bánh xe trên Ubuntu.

Trả lời

8

Tại sao một số gói cung cấp bánh xe cho nền tảng Linux?

Tại sao chúng không được miễn là phân phối nguồn có sẵn? :)

Câu hỏi của bạn không rõ ràng. Nếu bạn có nghĩa là

Tại sao một số gói cung cấp nền tảng dành riêng cho nền tảng Linux thay vì nền tảng độc lập không phải là platfom?

sau đó xem this question và câu trả lời của nó. Nếu không, vui lòng làm rõ câu hỏi của bạn.


Trên Ubuntu: Tôi sẽ nhận được sự phân bố nguồn của gói NHƯNG trong some cases tôi nhận được bánh xe.

Hãy thử sử dụng:

pip install --no-binary :all: somepackage 

này nên pip tải về một bản phân phối nguồn nếu nó tồn tại trên PyPI. Tôi không biết tại sao không có gói nguồn cho PyQt5 trên PyPI, có lẽ bởi vì họ không thể cài đặt với pip và cần một toolchaing toàn bộ để biên dịch.


Điều này có được không? Cung cấp tệp nhị phân thay vì nguồn?

Không sao miễn là bạn cung cấp cả hai tệp nhị phân và nguồn. Tôi đề nghị bạn làm như vậy.


Tại sao tôi không thể cung cấp bánh xe?

Hãy thử python setup.py bdist_wheel. Bạn cần cài đặt gói wheel (trên PyPI) để làm cho nó hoạt động. Nếu gói của bạn hỗ trợ cả Python 2 và 3 và không chứa phần mở rộng C, hãy thêm tùy chọn --universal để tạo "universal wheel".

Thay thế bdist_wheel bằng sdist để tạo phân phối nguồn. Nó sẽ tạo một kho lưu trữ trong thư mục dist.

sdist tạo lưu trữ định dạng mặc định cho nền tảng hiện tại. Định dạng mặc định là tệp tar của gzip (.tar.gz) trên Unix và tệp ZIP trên Windows.

Bạn có thể chỉ định nhiều định dạng như bạn thích bằng cách sử dụng tùy chọn --formats, ví dụ:

python setup.py sdist --formats=gztar,zip 

để tạo ra một tarball đã giải nén và một tập tin zip

(Trích từ https://docs.python.org/3/distutils/sourcedist.html)


Thông tin thêm về bao bì và bánh xe có sẵn tại đây: https://packaging.python.org/distributing/#packaging-your-project

+0

Khi tôi cố gắng tải lên bánh xe trên Linux, tôi gặp lỗi, tôi sẽ dán vào đây ngay khi có thể. (hôm nay) –

+2

https://packaging.python.org/current/#id8 "PyPI hiện chỉ cho phép tải lên các bánh xe Windows và Mac OS X, và chúng phải tương thích với các trình cài đặt nhị phân được cung cấp để tải xuống từ python.org. phải được thực hiện theo sơ đồ gắn thẻ tương thích bánh xe trước khi cho phép bánh xe linux. " –

Các vấn đề liên quan