Câu hỏi của bạn đã được ba tuổi và có một số chi tiết không được đề cập trong câu trả lời khác:
Hầu hết mọi người tôi biết sử dụng HomeBrew hoặc MacPorts, tôi thích MacPorts vì cắt sạch của một mặc định những gì là Mac OS Môi trường X và thiết lập phát triển của tôi.Chỉ cần di chuyển thư mục /opt của bạn và kiểm tra các gói của bạn với môi trường Python thông thường của người dùng
MacPorts chỉ di động trong Mac, nhưng với easy_install hoặc pip bạn sẽ tìm hiểu cách thiết lập môi trường trong bất kỳ nền tảng nào (Win/Mac/Linux/Bsd ...). Hơn nữa, nó sẽ luôn được cập nhật hơn và có nhiều gói hơn
Cá nhân tôi cho phép MacPorts xử lý các mô-đun Python của tôi để cập nhật mọi thứ. Giống như bất kỳ trình quản lý gói cao cấp nào khác (ví dụ: apt-get), nó sẽ tốt hơn cho việc nâng các mô-đun với nhiều phụ thuộc nhị phân. Không có cách nào tôi sẽ xây dựng các ràng buộc Qt của tôi (PySide) với easy_install hoặc pip. Qt là rất lớn và mất rất nhiều để biên dịch. Ngay khi bạn muốn gói Python cần thư viện được các chương trình không Python sử dụng, hãy cố gắng tránh easy_install hoặc pip
Tại một số điểm bạn sẽ thấy rằng có một số gói bị thiếu trong MacPorts. Tôi không tin rằng MacPorts sẽ bao giờ cung cấp cho bạn toàn bộ CheeseShop. Ví dụ, gần đây tôi cần mô-đun Elixir, nhưng MacPorts chỉ cung cấp py25-elixir và py26-elixir, không có phiên bản py27. Trong những trường hợp như thế này bạn có:
pip-2.7 cài đặt elixir --user
(chắc chắn rằng bạn luôn gõ pip- (phiên bản))
Điều đó sẽ xây dựng một thư viện Python thêm trong thư mục nhà của bạn. Có, Python sẽ làm việc với nhiều vị trí thư viện: một được kiểm soát bởi MacPorts và một địa chỉ người dùng cục bộ cho mọi thứ bị thiếu trong MacPorts.
Bây giờ, hãy chú ý rằng tôi ủng hộ pip qua easy_install. Có một lý do chính đáng là bạn nên tránh setuptools và easy_install. Đây là good explanation và tôi cố gắng tránh xa chúng. Một tính năng rất hữu ích của pip được tạo cho bạn một danh sách tất cả các module (cùng phiên bản của họ) mà bạn cài đặt với MacPorts, easy_install và pip bản thân:
pip-2.7 đóng băng
Nếu bạn đã bắt đầu sử dụng easy_install, đừng lo lắng, pip có thể nhận ra mọi thứ đã được thực hiện bởi easy_install và thậm chí nâng cấp các gói được cài đặt với nó.
Nếu bạn là nhà phát triển, hãy theo dõi virtualenv để kiểm soát các thiết lập khác nhau và kết hợp các phiên bản mô-đun. Các câu trả lời khác đã đề cập đến nó, những gì không được đề cập cho đến nay là mô-đun Tox, một công cụ để kiểm tra gói của bạn cài đặt đúng với các phiên bản Python khác nhau.
Mặc dù tôi thường không có xung đột phiên bản, tôi muốn có virtualenv để thiết lập môi trường trong sạch và có được cái nhìn rõ ràng về các gói phụ thuộc của tôi. Bằng cách đó tôi không bao giờ quên bất kỳ phụ thuộc nào trong setup.py
Nếu bạn đi tìm MacPorts, hãy nhớ rằng nhiều phiên bản của cùng một gói không được chọn nữa như kiểu Debian cũ với gói python_select bổ sung (nó vẫn ở đó khả năng tương thích).Bây giờ bạn có lệnh select để chọn Python phiên bản sẽ được sử dụng (thậm chí bạn có thể chọn những người của Apple được cài đặt):
$ port select python
Available versions for python:
none
python25-apple
python26-apple
python27 (active)
python27-apple
python32
$ port select python python32
Thêm tox trên đầu trang của nó và các chương trình của bạn nên được thực sự di
Có một bài viết tốt đẹp về đóng gói ứng dụng PyQt dành cho Mac OS X tại Ars Technica một khi trở lại: http://arstechnica.com/ mã nguồn mở/hướng dẫn/2009/03/cách triển khai-pyqt-ứng dụng-trên-windows-và-mac-os-x.ars – tgamblin
MacPorts là hoàn hảo cho Python trên máy Mac. LƯU Ý: bạn cần phải cài đặt các gói Python thông qua MacPorts để chúng được cài đặt vào cài đặt MacPorts Python của bạn. Bạn cũng có thể cài đặt các gói mà không cần sử dụng MacPorts; tuy nhiên, bạn cần tạo phiên bản python đó mặc định thông qua python_select TRƯỚC KHI cài đặt gói. Nếu bạn cài đặt gói và sau đó sử dụng python_select, nó sẽ không tạo ra sự khác biệt, vì nó sẽ được cài đặt vào bất kỳ phiên bản Python nào là mặc định tại thời điểm cài đặt. –