Chúng tôi có một cài đặt python phổ biến cho tất cả các hệ thống của chúng tôi để đảm bảo mọi hệ thống có cài đặt python giống nhau và để giảm bớt các vấn đề về cấu hình. Cài đặt này nằm trên một ổ đĩa được chia sẻ. Chúng tôi cũng có nhiều nền tảng chia sẻ cài đặt này. Chúng tôi nhận được xung đột các tệp nền tảng cụ thể xung đột bằng cách đặt tùy chọn cấu hình --exec-prefix khi biên dịch python.Tôi có thể xử lý trứng trăn cho nhiều nền tảng ở một địa điểm như thế nào?
Vấn đề của tôi là bây giờ tôi muốn cài đặt trứng bằng easy_install (hoặc cách khác) phụ thuộc vào nền tảng. easy_install đặt trứng vào thư mục site-package của phần không phụ thuộc vào nền tảng của tiến trình cài đặt. Tên của quả trứng có nền tảng trong nó nên không có xung đột. Nhưng python sẽ chỉ tải cái đầu tiên mà nó tìm thấy. (Vì vậy, trên Solaris nó có thể cố gắng tải trứng Linux). Sửa đổi tập tin easy-install.pth có thể thay đổi cái mà nó tìm thấy, nhưng điều đó khá vô dụng.
Tôi có thể di chuyển tệp .egg vào thư mục gói nền tảng phụ thuộc và sau đó sử dụng pkg_resources.require() để tải chúng (hoặc điều chỉnh theo cách thủ công đường dẫn). Nhưng có vẻ như tôi không cần phải kể từ khi nền tảng là trong tên của quả trứng.
Có cách nào chung chung hơn tôi có thể đảm bảo rằng trăn sẽ tải trứng cho nền tảng chính xác không?
Trứng có chứa phần mở rộng C hay là python nguyên chất không? – codeape
Vâng, có một phần mở rộng C. Nếu không nó sẽ không quan trọng bởi vì mã sẽ không phụ thuộc vào nền tảng. Cụ thể, đó là mô-đun PyPerforce, trong trường hợp bạn tò mò. – Philbert