Nếu bạn tình cờ được sử dụng MacPorts, nó đơn giản như xác định các biến thể mà nói nó không phải để biên dịch Universal, như vậy:
sudo port install python26 -universal
Bạn có thể xem các biến thể có sẵn bằng cách sử dụng variants
lệnh:
% port variants python26
python26 has the variants:
darwin: Platform variant, selected automatically
no_tkinter: Disable Tkinter support, which will break IDLE
ucs4: Enable support for UCS4
universal: Build for multiple architectures
Như bạn có thể thấy, theo mặc định trên 10,6 nó xây dựng các darwin
biến, trong đó xây dựng x86_64 CHỈ:
% cd /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/
% file python2.6
python2.6: Mach-O 64-bit executable x86_64
Hãy so sánh để mặc định python nhị phân, mà là phổ quát:
% file /usr/bin/python
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386): Mach-O executable i386
/usr/bin/python (for architecture ppc7400): Mach-O executable ppc
Nếu bạn không sử dụng MacPorts, tôi đề nghị bạn xem xét nó. Nó tiết kiệm rất nhiều thời gian và đau khổ phải tự cấu hình và biên dịch mọi thứ, và có một giao diện GUI tuyệt vời được gọi là Porticus. Tất cả nguồn mở và miễn phí, tất nhiên!
p.s. Không bao giờ thay thế hoặc đổi tên các tệp nhị phân hệ thống ban đầu! Như đã đề cập trong các ý kiến của Ned Daily:
"Hoặc là quản lý quyền truy cập vào các mục đích dụ python bằng cách thay đổi thứ tự tìm kiếm trong môi trường PATH biến hoặc, nếu cần thiết, sử dụng một đường dẫn tuyệt đối như/opt /local/bin/python2.6 ".
Có vẻ như cờ chung * nên * biên dịch "Phổ" --- nếu có, bạn có thể muốn chỉnh sửa dòng đầu tiên. – telliott99
Cảm ơn! Tôi nhận được một vài hệ điều hành OS X sớm hoàn toàn bị cắt xén với các phiên bản trước đó của cả Fink và MacPorts và đã tránh xa kể từ đó. Tôi bắt đầu cảm thấy như OS X giống như một người phụ nữ bảo trì xinh đẹp nhưng rất cao; tốt đẹp để xem và chơi với, nhưng khi có việc phải làm, nhiều trở ngại hơn là giúp đỡ. – ssteinerX
@ telliot99 Một sẽ chỉ định '+ universal' để bao gồm nó,' -universal' sẽ loại trừ nó. Tuy nhiên, nó bị loại trừ theo mặc định, trên 10.6 vì vậy nó sẽ không liên quan. – jathanism