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
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) –
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. " –