Tôi hiện đang cài đặt nhiều phiên bản Python trên máy Mac, phiên bản mới nhất của tôi, python.org, phiên bản cũ hơn được sử dụng để chạy Zope cục bộ và phiên bản khác phiên bản mà Appengine đang sử dụng. Đó là một mớ hỗn độn. Bất kỳ khuyến nghị sử dụng một phiên bản của python để cai trị tất cả? Làm thế nào tôi sẽ đi về các phiên bản cũ đã bị xóa và liên kết tất cả các ứng dụng của tôi với một lần cài đặt. Bất kỳ gotchas cụ thể Mac tôi nên biết về? Đây có phải là một ý tưởng ngu ngốc?Nhiều phiên bản Python trên OS X Leopard
Trả lời
Chẳng có gì sai khi có nhiều phiên bản Python xung quanh. Đôi khi nó là một điều cần thiết khi sử dụng các ứng dụng với phụ thuộc phiên bản. Có lẽ vấn đề lớn nhất là xử lý các phụ thuộc gói trang web có thể thay đổi từ ứng dụng đến ứng dụng. Các công cụ như virtualenv
có thể trợ giúp ở đó. Một điều bạn nên không làm là cố gắng loại bỏ Python do Apple cung cấp trong/System/Library/Frameworks và liên kết đến từ/usr/bin/python. (Lưu ý các cuộc thảo luận gần đây của nhiều phiên bản here.)
+1 trên virtualenv. Tôi đã liên kết với trang chủ virtualenv. –
Cách tiếp cận tôi thích mà nên làm việc trên tất cả các hệ điều hành UNIX-like:
Tạo cho mỗi ứng dụng mà cần một phiên bản python cụ thể một tài khoản người dùng. Cài đặt trong mỗi người dùng đếm phiên bản python tương ứng với một tiền tố người dùng cục bộ (như ~/build/python) và thêm ~/build/bin/vào biến môi trường PATH của người dùng. Cài đặt/sử dụng các ứng dụng python của bạn trong người dùng chính xác của họ.
Ưu điểm của phương pháp này là cách ly hoàn hảo giữa các cài đặt python riêng lẻ và lựa chọn tương đối thuận tiện môi trường python chính xác (chỉ su
cho người dùng thích hợp). Ngoài ra hệ điều hành vẫn không bị ảnh hưởng.
Ian Bicking virtualenv cho phép tôi có Pythons riêng biệt cho mỗi ứng dụng tôi xây dựng và cho phép tôi quyết định có bao gồm các gói trang web toàn cục trong môi trường Python bị cô lập hay không.
Tôi đã không thử nó với Zope, nhưng tôi đoán rằng những điều sau đây nên làm việc độc đáo:
- Sử dụng Python của Zope của bạn, hãy virtualenv mới, có hoặc không có --no-site -packages
- Thả Zope của bạn vào virtualenv
- Activate môi trường với $ VENV/bin/kích hoạt
- Cài đặt bất kỳ cần thiết site-packages
- Chạy Zope của bạn bằng cách sử dụng Python tại $ VENV/bin/python
Điều này đã làm việc tuyệt vời để quản lý các dự án Django với các phiên bản khác nhau của Python, Django và tiện ích bổ sung.
This article dường như đi vào chi tiết hơn về các chi tiết cụ thể của Grok và Virtualenv, nhưng các tính tổng quát nên áp dụng cho Zope as welll.
+1 cho virtualenv.
Thậm chí nếu bạn không cần các phiên bản Python khác nhau, vẫn còn tốt để giữ cho các phụ thuộc phát triển của bạn tách biệt với hệ thống Python của bạn.
Tôi không chắc chắn bạn đang sử dụng hệ điều hành nào, nhưng tôi thấy hướng dẫn these rất hữu ích để nhận môi trường phát triển python chạy trên OSX.
- 1. Phiên bản Python giao hàng với Mac OS X Snow Leopard?
- 2. C++ 11 với Xcode trên Mac OS X Snow Leopard
- 3. XAMPP hoặc MAMP trên Mac OS X 10.6.2 (Snow Leopard)
- 4. Cách thiết lập PEAR trên Mac OS X 10.5 Leopard
- 5. Phiên bản OS X của bringSubviewToFront :?
- 6. Làm cách nào để đặt phiên bản mặc định của Python thành 3.3 trên OS X?
- 7. Lỗi khi chạy thử nghiệm scipy và gọn gàng trên OS X Snow Leopard
- 8. Nhiều con chuột trên OS X
- 9. Đặt GCC 4.2 làm trình biên dịch mặc định trên Mac OS X Leopard
- 10. Chạy Python trong nền trên OS X
- 11. Python phiên bản trên Mac
- 12. Phát triển nhiều phiên bản BlackBerry OS
- 13. Phiên bản tương thích với Mac OS X libcurl dylib
- 14. Thư PHP() bằng cách sử dụng Sendmail trên Mac OS X Leopard (10.5.8)
- 15. pygettext.py và msgfmt.py trên Mac OS X
- 16. Django + MySQL trên Mac OS 10.6.2 Snow Leopard
- 17. Cách phát hiện phiên bản Mac OS bằng Python?
- 18. Làm thế nào để sử dụng đầu dò hotspot trong dtrace trên Mac OS X Leopard?
- 19. Mono & WInforms trên OS X
- 20. Dữ liệu về số lượng người dùng của từng phiên bản Mac OS X?
- 21. Matplotlib.pyplot trên OS X với Python 64 bit từ Python.org
- 22. wxPython 2.9 trên Mac Os X
- 23. Làm cách nào để biết phiên bản Perl nào có sẵn trên các phiên bản Mac OS X cũ hơn?
- 24. PyCharm - $ PATH trên OS X
- 25. ga hiển thị phiên bản php sai (Snow Leopard)
- 26. Cài đặt dateutils trên OS X. Làm thế nào tôi có thể cài đặt lên phiên bản Python
- 27. Nhiều phiên bản Python chính thức trên cùng một máy?
- 28. JNotify trên Mac OS X?
- 29. Python IDLE: Thay đổi phiên bản Python
- 30. Cách cài đặt iPython trên Snow Leopard
Đọc bài đăng trên blog này: http://farmdev.com/thoughts/66/python-3-0-on-mac-os-x-alongside-2-6-2-5-etc-/ –