Nếu tôi đang học phát triển python trên OSX (Snow Leopard), cách tốt nhất tôi nên quản lý gói python của mình?lời khuyên thông thường về quản lý gói python trên OSX dành cho người mới bắt đầu
Tôi rất vui mừng về số lượng lớn các gói python tuyệt vời trên mạng. Tôi rất thích bắt đầu học chúng, nhưng quản lý gói đã khiến tôi hoàn toàn bối rối. Rõ ràng là tôi không biết mình đang làm gì. Tôi thấy nhiều câu hỏi về Stack Overflow giải quyết việc quản lý gói và mọi người thường trả lời họ bằng cách nói "Tại sao bạn không chỉ sử dụng x? Hãy xem nó dễ dàng như thế nào trong dòng đơn này mà tôi đã sao chép từ vỏ của mình"
$ x install something
Câu trả lời hay cho đến khi x không xử lý được một số phụ thuộc cụ thể hoặc không thể xử lý gói y. Dưới đây là những gì tôi đã cố gắng:
- Tôi bắt đầu chỉ cài đặt mọi thứ với easy_install.
- Tôi sớm nhận thấy rằng một số gói quan trọng bị thiếu phụ thuộc (PIL) vì vậy tôi đã tìm kiếm và phát hiện MacPorts.
- Tôi bắt đầu sử dụng MacPorts và tất cả các biến môi trường của tôi thực sự khó hiểu, vì vậy tôi đã học đủ bash để cấu hình lại
PATH
,PYTHONPATH
vàsys.path
để làm mọi thứ hoạt động (và làm cho cửa sổ đầu cuối của tôi trông thật ngọt). MacPorts có vẻ tuyệt vời trong một thời gian. - Nhưng sau đó tôi đã nhầm lẫn về phiên bản của các mô-đun khác nhau mà tôi đang sử dụng và tôi tìm thấy nhiều vấn đề phụ thuộc hơn (GDAL) ...
- Sau đó, một số người rất thông minh khuyên tôi chuyển sang Homebrew. Vì vậy, tôi đã gỡ cài đặt MacPorts và cài đặt Homebrew.
- Bây giờ tôi có Homebrew, tôi không thể cài đặt nhiều thứ, bởi vì tôi không biết cách tạo Formula cho hầu hết các gói python mà tôi muốn sử dụng. Nếu một gói được liệt kê tại pypi, tôi không biết nếu tôi thực sự nên sử dụng Homebrew, hoặc chỉ tìm ra cách để cấu hình easy_install để cài đặt vào thư mục Homebrew. Và tôi vẫn không biết làm thế nào tôi nên tiếp cận thiếu phụ thuộc tốt nhất. Có lẽ có một số kho chứa bí mật của công thức liên quan đến python? hoặc một cách dễ dàng để chuyển đổi portfiles thành Công thức?
Tôi biết rằng câu trả lời đúng có thể phụ thuộc vào những gì tôi đang cố cài đặt.Tôi đang cố gắng để cài đặt bộ gói cho phép tôi:
- chơi xung quanh và tự động hóa tất cả mọi thứ với python
- appscript
- PIL
- pygame
- làm công việc liên quan đến GIS trong python
- gdal
- quyến rũ
- PostGIS
- scipy
- khám phá những khả năng kỳ diệu của các ứng dụng web
- django
- google-app-engine
tôi 'hoàn toàn sẵn sàng xóa sạch mọi thứ khỏi máy tính của tôi, điều này phải hơi lộn xộn với các gói phần mềm bây giờ. Nếu tôi nên học virtualenv hoặc chỉ tìm hiểu thêm về quy trình cơ bản của việc kiểm tra các phụ thuộc và tự cài đặt chúng, tôi rất sẵn lòng làm điều đó. Nếu tôi chỉ nên đào sâu vào Homebrew, tôi cũng rất vui khi làm điều đó. Làm thế nào tôi nên đối phó với những vấn đề này, mà thường ngăn cản tôi làm những gì tôi thực sự muốn làm (làm cho công cụ gọn gàng với python)?