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ác câu trả lời khác:
Hầu hết mọi người tôi biết đều sử dụng HomeBrew hoặc MacPorts , tôi thích MacPorts hơn vì nó hoàn toàn là môi trường Mac OS X mặc định 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 người dùng bình thường
MacPorts chỉ có thể 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 của mình 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à với nhiều gói hơn
Cá nhân tôi để 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 cấp cao nào khác (ví dụ: apt-get), sẽ tốt hơn nhiều 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 có thể xây dựng các ràng buộc Qt (PySide) của mình bằng 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 có gói Python cần thư viện được sử dụng bởi các chương trình không phải Python, 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ẽ 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ó:
cài đặt pip-2.7 - thuốc tiên
(đảm bảo bạn luôn gõ pip- (phiên bản))
Điều đó sẽ xây dựng một thư viện Python bổ sung trong thư mục nhà của bạn. Có, Python sẽ hoạt động với nhiều hơn một vị trí thư viện: một vị trí được điều khiển bởi MacPorts và một địa phương người dùng cho mọi thứ còn thiếu trong MacPorts.
Bây giờ lưu ý rằng tôi ủng hộ pip hơn easy_install. Có một lý do chính đáng để bạn tránh thiết lập và easy_install. Đây là một lời giải thích tốt và tôi cố gắng tránh xa họ. Một tính năng rất hữu ích của pip là cung cấp cho bạn danh sách tất cả các mô-đun (cùng với các phiên bản của chúng) mà bạn đã cài đặt với MacPorts, easy_install và chính pip:
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ằng 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 để mắt đến virtualenv để kiểm soát các thiết lập và kết hợp các phiên bản mô-đun khác nhau. Các câu trả lời khác đã đề cập đến nó, điều chưa được đề cập cho đến nay là mô-đun Tox , một công cụ để kiểm tra rằng gói của bạn cài đặt chính xác 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ột môi trường sạch sẽ và có được cái nhìn rõ ràng về các phụ thuộc gói của tôi. Bằng cách đó, tôi không bao giờ quên bất kỳ sự phụ thuộc nào trong setup.py của mình
Nếu bạn dùng MacPort, hãy lưu ý rằng nhiều phiên bản của cùng một gói sẽ không được chọn nữa như kiểu Debian cũ với gói python_select bổ sung (nó vẫn ở đó để tương thích). Bây giờ bạn có lệnh select để chọn phiên bản Python nào sẽ được sử dụng (thậm chí bạn có thể chọn phiên bản Apple đã 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 độc tố lên trên và các chương trình của bạn phải thực sự di động