Tôi có thể cài đặt 2 phiên bản Python trên máy Mac không?
Bài viết này mô tả cách quản lý môi trường Python ARM64 và x86 bằng pyenv. Nếu bạn thích điều kiện để quản lý môi trường, hãy xem bài viết khác của tôi Show
Bạn có thể sẽ không sử dụng cùng một phiên bản Python cho tất cả các dự án của mình trong suốt phần đời còn lại. Một mặt, Python là một ngôn ngữ tích cực và bạn sẽ muốn tận dụng các tính năng mới nhất (Python 3. 10 đã được phát hành gần đây. ). Mặt khác, bạn không muốn phá vỡ tất cả mã cũ của mình khi nâng cấp phiên bản Python đã cài đặt của mình. Là một nhà khoa học dữ liệu, tôi luôn gặp phải vấn đề này — tôi thường xuyên phải chạy lại các phân tích hoặc dự án cũ, vì vậy tôi cần một cách để hỗ trợ nhiều phiên bản Python trên máy của mình Đó là nơi quản lý phiên bản xuất hiện và công cụ ưa thích của tôi là pyenv. Với pyenv, bạn có thể cài đặt nhiều phiên bản Python trên máy của mình và dễ dàng chuyển đổi giữa chúng Ghi chú. bài viết này hướng đến người dùng Mac và đặc biệt là người dùng Apple Silicon Mac. Người dùng Linux có thể được hưởng lợi từ hướng dẫn pyenv, nhưng người dùng Windows thì không gặp may — pyenv không hỗ trợ chính thức cho Windows Cài đặt các phiên bản Python bằng pyenvThật dễ dàng để cài đặt và quản lý nhiều phiên bản Python bằng pyenv. Xem tài liệu để biết đầy đủ chi tiết, nhưng đây là hướng dẫn đơn giản để cài đặt bất kỳ phiên bản Python nào 1. Cài đặt HomebrewHomebrew là trình quản lý gói cho MacOS. Nó cho phép bạn cài đặt tất cả các loại công cụ hữu ích. Để cài đặt nó, hãy làm theo các hướng dẫn đơn giản tại đây 2. Cài đặt và cấu hình pyenvpyenv là một công cụ quản lý phiên bản Python. Nó cho phép bạn cài đặt nhiều phiên bản Python và dễ dàng chuyển đổi giữa chúng Để cài đặt, hãy làm theo các hướng dẫn sau (hoặc xem hướng dẫn cài đặt đầy đủ trên kho lưu trữ GitHub chính thức)
##### ~/.zprofile ##### Sau đó thoát khỏi phiên shell của bạn và bắt đầu một phiên mới để các thay đổi có hiệu lực. Bạn đã cài đặt thành công pyenv 3. Cài đặt phiên bản PythonCài đặt Python với pyenv thật dễ dàng. Ví dụ: để cài đặt Python 3. 9. 7, bạn sẽ chạy Các bước trên hầu như sẽ luôn là đủ. Tuy nhiên, với các máy Mac mới hơn (cá nhân tôi sử dụng MacBook Air M1), bạn có thể gặp sự cố khi cài đặt một số gói nhất định. Khi Apple chuyển từ chip Intel sang chip Apple Silicon nội bộ của họ, họ đã thay đổi từ kiến trúc x86 sang kiến trúc ARM64. Đây hầu như là một điều tốt — sự khác biệt duy nhất mà bạn sẽ nhận thấy trong quá trình sử dụng hàng ngày là chip mới nhanh hơn và hiệu quả hơn chip cũ Thật không may, đôi khi bạn có thể gặp phải sự cố tương thích gói. Một số gói Python chưa được hỗ trợ trên kiến trúc ARM64 của Apple — ví dụ: tôi gặp sự cố đó với gói ortools. Bạn sẽ gặp lỗi trong khi cài đặt và bạn sẽ không thể sử dụng gói trong mã của mình. Cuối cùng, vấn đề sẽ biến mất khi các nhà phát triển thêm hỗ trợ ARM64 cho các gói của họ, nhưng bạn sẽ phải tìm một giải pháp khác trong thời gian chờ đợi May mắn thay, có một giải pháp ngắn hạn. bạn có thể cài đặt Python với kiến trúc x86 trên Apple Silicon Mac. Và tốt hơn nữa, bạn vẫn có thể sử dụng pyenv để quản lý môi trường của mình môi trường x86 với Rosetta và pyenvChỉ làm theo các bước sau nếu bạn cần sử dụng các gói chỉ hoạt động trên kiến trúc x86. Trước tiên hãy thử các bước trước và chỉ đến đây nếu bạn gặp sự cố cài đặt gói. Nếu không, bạn đang hy sinh hiệu suất mà không có lợi ích gì 1. Cài đặt RosettaRosetta là phần mềm cho phép Apple Silicon Mac chạy các ứng dụng được thiết kế cho máy Mac dựa trên Intel. Nếu bạn cần sử dụng phiên bản Python cho kiến trúc x86, bạn sẽ cần Rosetta Để cài đặt Rosetta, hãy chạy lệnh này trong thiết bị đầu cuối của bạn softwareupdate --install-rosetta Sau đó làm theo lời nhắc để đồng ý với thỏa thuận cấp phép và chạy cài đặt 2. Tạo một thiết bị đầu cuối RosettaBây giờ chúng ta cần một cách để chạy các lệnh bằng Rosetta. Đầu tiên, sao chép ứng dụng Terminal. Điều hướng đến /Applications/Utilities và sao chép Terminal Ảnh chụp màn hình của tác giảSau đó đổi tên bản sao mới thành một cái gì đó như “Terminal Rosetta”. Tiếp theo, nhấp chuột phải vào Terminal mới, nhấp vào “Nhận thông tin” và chọn hộp “Mở bằng Rosetta” Ảnh chụp màn hình của tác giảGiờ đây, bạn có thể sử dụng thiết bị đầu cuối mới này để thực thi các lệnh bằng Rosetta và kiến trúc x86. Sử dụng nó cho các bước còn lại 3. Cài đặt HomebrewThực hiện theo các hướng dẫn đơn giản ở đây. Nó hoàn toàn giống với cài đặt Homebrew trên kiến trúc ARM64, nhưng nó sẽ tự động được cài đặt sang một vị trí khác 4. Cài đặt pyenvNếu bạn đã cài đặt nó ở trên, bạn đã hoàn tất. Nếu không, hãy làm theo Bước 2 trong hướng dẫn “Cài đặt phiên bản Python bằng pyenv” 5. Biến đổi. zshrcChúng tôi đã cài đặt mọi thứ chúng tôi cần. Bây giờ chúng tôi cần một cách để yêu cầu máy của chúng tôi sử dụng phiên bản x86 của brew và pyenv. Phương pháp ưa thích của tôi là thêm các dòng sau vào. zshrc (hoặc. tệp bashrc) ##### ~/.zshrc ###### rosetta terminal setup Lệnh softwareupdate --install-rosetta 0). Bí danh softwareupdate --install-rosetta 1 thực thi pyenv theo kiến trúc x86Ví dụ: bây giờ bạn có thể gọi softwareupdate --install-rosetta 2 hoặc softwareupdate --install-rosetta 3 từ thiết bị đầu cuối Rosetta của mình5. Cài đặt plugin bí danh pyenv (tùy chọn)Theo mặc định, pyenv không cho phép bạn cung cấp tên tùy chỉnh cho các phiên bản Python của mình. Đó có thể là một vấn đề nếu bạn muốn cài đặt cùng một phiên bản Python trong cả kiến trúc ARM64 và x86. Plugin bí danh pyenv giải quyết vấn đề này. Làm theo hướng dẫn cài đặt tại đây 6. Tạo môi trường x86 của bạn bằng pyenvCuối cùng, bạn đã sẵn sàng để cài đặt các phiên bản x86 Python. Trong thiết bị đầu cuối Rosetta của bạn, chỉ cần chạy softwareupdate --install-rosetta 4 (thay thế phiên bản Python thực cho softwareupdate --install-rosetta 5). Nếu bạn đã cài đặt plugin bí danh pyenv ở bước trước, tôi khuyên bạn nên thêm bí danh vào môi trường x86 của mình. Ví dụ, softwareupdate --install-rosetta 6Bây giờ khi bạn chạy softwareupdate --install-rosetta 7, bạn sẽ thấy tất cả các phiên bản Python ARM64 và x86 của mình. Bạn có thể dễ dàng chuyển sang môi trường x86 khi gặp sự cố tương thích gói trong dự án của mìnhPhần kết luận Nếu bạn có Apple Silicon Mac, bạn có thể gặp phải sự cố cài đặt gói vào một ngày nào đó, nhưng các bước trong bài viết này cung cấp một giải pháp thay thế liền mạch (tốt, gần như liền mạch như bạn sẽ nhận được). Cuối cùng, các bước này có thể lỗi thời sau khi các nhà phát triển có đủ thời gian để thêm hỗ trợ ARM64 vào gói của họ, nhưng điều này có thể mất vài năm đối với một số gói thích hợp. Trong thời gian chờ đợi, tôi hy vọng bài viết này giúp bạn khắc phục sự cố Quản lý phiên bản Python có thể phức tạp. Cá nhân tôi thích sự đơn giản của pyenv. Có những giải pháp khác (chẳng hạn như conda) nhưng theo tôi pyenv là cách dễ sử dụng nhất. Nếu bạn có một công cụ khác mà bạn thích, tôi rất muốn nghe về nó Tôi có thể cài đặt hai phiên bản Python trên máy Mac không?Với pyenv, bạn có thể cài đặt nhiều phiên bản Python trên máy của mình và dễ dàng chuyển đổi giữa các phiên bản đó.
Bạn có thể cài đặt 2 phiên bản Python khác nhau không?Với Bộ điều hướng, bạn có thể có các phiên bản Python khác nhau trên máy tính của mình và dễ dàng chuyển đổi giữa chúng bằng cách giữ chúng trong các môi trường khác nhau. Để sử dụng phiên bản Python khác với phiên bản bạn đang sử dụng, hãy thiết lập một môi trường mới. Bắt đầu điều hướng.
Tôi có thể cài đặt Python 2 và 3 cùng lúc với máy Mac không?Sử dụng brew install python để cài đặt python3 trên mac, phiên bản hiện tại là Python 3. 6. 5. Nếu máy mac của bạn đã có python2, brew sẽ yêu cầu nâng cấp, điều này không sao cả.
Tôi có thể cài đặt Python 2 và 3 cùng lúc không?bạn có thể cài đặt cả python 2 và python 3 trong máy của mình nhưng bạn không thể sử dụng cả hai trong cùng một trình chỉnh sửa mã đơn lẻ . Để sử dụng cả hai cùng lúc, bạn phải mở một IDE với python 2 và một IDE khác với python 3. |