2009-12-15 28 views
18

Tôi đang phát triển trên Snow Leopard và trải qua nhiều "cách làm thế nào" để cài đặt và làm việc với gói MySQLdb (trận chiến khó khăn). Mọi thứ là một mớ hỗn độn và tôi muốn lấy lại sự tự tin với một tươi, sạch sẽ, gần với cài đặt gốc của Python 2.6.Làm thế nào để dọn dẹp cài đặt Python của tôi cho một khởi đầu mới

Tôi nên xóa các thư mục nào?

Tôi nên chạy gì?

Tôi nên tiêu diệt hoặc tạo liên kết tượng trưng nào?

+5

... có lẽ bạn đã tạo VirtualEnv trước khi đùa giỡn ... – jldupont

+0

chú thích không liên quan: "cách làm thế nào" - không sở hữu, không co, chỉ số nhiều, vì vậy không có dấu nháy đơn – Todd

+4

Cảm ơn Todd. Tôi đã chỉnh sửa câu hỏi của mình để được miễn phí. Bảo trọng. –

Trả lời

13

Một điều bạn nên không làm là cố gắng xóa hoặc thay đổi bất kỳ tệp hoặc liên kết python do Apple cung cấp nào: chúng ở trong /usr/bin/System/Library/Frameworks/Python.framework. Đây là một phần của OS X và được quản lý bởi Apple. Bạn có thể dọn sạch mọi gói không cần thiết mà bạn đã cài đặt cho Python đó. Họ đang ở trong /Library/Python. Nếu bạn đã cài đặt python.org Python và muốn xóa nó, hầu hết các tệp nằm trong /Library/Frameworks/Python.framework. Xem here để biết hướng dẫn đầy đủ về cách xóa chúng. Và mọi thứ bạn đã cài đặt vào /usr/local là trò chơi công bằng.

Sử dụng virtualenv s là một ý tưởng hay nhưng ít quan trọng hơn đối với OS X trong đó khái niệm xây dựng khung làm cho việc hỗ trợ nhiều phiên bản Python dễ dàng hơn so với một số nền tảng khác.

Vấn đề lớn hơn, đặc biệt là cố gắng sử dụng MySQL với Python, đang nhận tất cả các thư viện không phải Python được cài đặt và xây dựng đúng cách, không tầm thường với nhiều tùy chọn sẵn có trên OS X. Ví dụ, tùy thuộc vào Ví dụ Python và mức OS X nào đang chạy, bạn có thể cần 32-bit hoặc 64-bit hoặc, có thể, cả hai phiên bản của những thứ như thư viện máy khách MySQL và bộ điều hợp MySQLdb. Vì lý do đó, tôi khuyên bạn nên sử dụng giải pháp hoàn chỉnh từ MacPorts. Bằng cách đó bạn có cơ hội nhận được tất cả các thành phần phù hợp được xây dựng tương thích - và dễ dàng.

Nếu cần thiết, cài đặt MacPorts cơ sở như mô tả trên trang web MacPorts thì:

$ sudo port selfupdate 
$ sudo port install py26-mysql 

và điều đó sẽ kéo trong và xây dựng tất cả mọi thứ bạn cần và làm cho nó có sẵn trong /opt/local/bin.Ngoài ra còn có rất nhiều cổng khác có sẵn, ví dụ:

$ sudo port install py26-virtualenv 
+0

phải là cài đặt cổng sudo py26-mysql – Dan

+0

Cảm ơn! Thật đáng ngạc nhiên không ai nhận thấy điều đó trước đây. –

+0

Thay vì '/ System/Frameworks/Library/Python.framework' đó là'/System/Library/Frameworks/Python.framework'. –

1

Trải nghiệm của tôi về phát triển trên MacOSX là các thư mục dành cho thư viện và công cụ cài đặt hoàn toàn khác nhau để gây ra nhiều sự cố mà bạn phải khắc phục bằng tay. Cuối cùng, máy tính của bạn trở thành một vùng đất hoang sơ của các tập tin và thư mục được nhân bản khắp nơi trong một nỗ lực để giải quyết những vấn đề này. Cũng có rất nhiều tệp cấu hình được điều chỉnh bằng tay. Ý nghĩ về việc thiết lập môi trường của tôi một lần nữa từ đầu cho tôi cảm giác ớn lạnh.

Sau đó, khi đến lúc triển khai, bạn phải làm lại lần nữa (trừ khi bạn đang triển khai một XServe, điều này khó xảy ra).

Tìm hiểu từ lỗi của tôi: thiết lập máy ảo Linux và thực hiện phát triển ở đó. Ít nhất, hãy chạy "máy chủ" phát triển của bạn ở đó, ngay cả khi bạn chỉnh sửa các tệp mã trên máy Mac của mình.

+0

Bạn có thể giới thiệu một ứng dụng VM miễn phí để chạy Ubuntu không? –

+1

http://www.virtualbox.org/ Không yêu thích của tôi (Tôi thích VMWare), nhưng hoàn toàn miễn phí. –

+0

Mặc dù không có gì sai khi sử dụng một máy ảo Linux, MacPorts có thể cung cấp gần như tất cả các lợi thế của việc sử dụng trình quản lý gói của một phân phối Linux bằng cách cung cấp một môi trường độc lập và thường được cập nhật độc lập với hệ điều hành do Apple cung cấp Các thành phần X. Xem câu trả lời của tôi ở trên. –

5

Virtualenv vẫn có thể hoạt động cho bạn. Cài đặt nó, sau đó tạo môi trường python ảo với tùy chọn --no-site-packages. Điều này sẽ không làm sạch hệ thống cơ bản của bạn, nhưng nên cho phép bạn phát triển trong sự cô lập khá tốt từ hệ thống cơ sở.

+3

'--no-site-packages' hiện mặc định, không cần chỉ định rõ ràng –

0

khi thực hiện "cổng tự động", rsync timeout với rsync.macports.org. Có các trang mirror có sẵn để sử dụng.

Các vấn đề liên quan