Python không tìm thấy mac m1

MacBook của Apple thật tuyệt vời. Chúng đã mang lại hiệu suất và hiệu quả nhất quán trong vài năm qua, khiến chúng trở thành lựa chọn ưa thích của các nhà phát triển [mặc dù chúng hơi 💰 đắt 💰 so với các lựa chọn khác hiện có]. Bài viết này sẽ không đi sâu vào so sánh giữa các tùy chọn khác nhau, nhưng nếu bạn đã mua Apple MacBook mới với chip M1, bạn có thể muốn đọc qua

Tôi đã nhận được một chiếc Apple MacBook Pro với chip M1 mới ngày hôm qua và ngay lập tức tôi gặp sự cố khi thiết lập nó cho các dự án phát triển của mình. Một trong những dự án của tôi sử dụng Python 3. 6 & vì đây là một dự án đã triển khai, nên việc thay đổi phiên bản Python để nó tương thích với người bạn đồng hành mới hào nhoáng của tôi sẽ là một công thức dẫn đến thảm họa 💥

Trước khi tìm hiểu cách giải quyết vấn đề này, hãy tìm hiểu chi tiết hơn về chip M1 mới

Chip M1 mới là gì và điều gì khiến nó khác biệt?

Chip Apple Silicon M1 là Hệ thống trên Chip [SoC] đầu tiên của công ty và là chip đầu tiên trong dòng chip Apple Silicon dựa trên ARM

M1 là bộ xử lý 8 nhân, 5 nanomet với kiến ​​trúc bộ nhớ hợp nhất. Điều này cho phép hiệu suất nhanh hơn trên máy tính Mac sử dụng M1 so với CPU, GPU, RAM và các thành phần khác riêng biệt. M1 cũng khẳng định hiệu suất năng lượng tốt hơn với hiệu suất cao hơn trong quá trình sử dụng. Ngoài ra, con chip này sẽ lần đầu tiên cho phép các ứng dụng iPhone và iPad chạy trên Mac

Cho đến bây giờ, bạn có thể đã sử dụng máy Mac hoặc máy tính xách tay dựa trên Intel dựa trên kiến ​​trúc x86_64. Điều này có nghĩa là tất cả các ứng dụng hoặc phần mềm mà bạn có thể quen dùng đều được viết bằng các hướng dẫn được viết cho các bộ xử lý Intel hoặc AMD [x86_64] này

Nhưng với chip M1, mọi thứ đã thay đổi. Bộ xử lý không thể hiểu các hướng dẫn x86_64 nữa và do đó, một số chương trình của bạn có thể không hoạt động với M1

Mặc dù điều quan trọng cần lưu ý là ngày càng có nhiều ứng dụng được làm tương thích với chip M1 mới trên khối

Bây giờ bạn có thể chạy Python trên Apple MacBook với Chip M1

Trăn 3. 9. 1 trở thành phiên bản đầu tiên của ngôn ngữ hỗ trợ macOS 11 Big Sur và lần lượt hỗ trợ MacBook hỗ trợ M1

Tôi biết chính xác bạn đang nghĩ gì

Nhưng chờ đã, Python 3. 9. 1 còn khá mới và ứng dụng của tôi có thể bị hỏng nếu tôi nâng cấp. Điều đó có nghĩa là MacBook mới của tôi không tốt?

Tuyệt đối không

Xin chào, Rosetta 2

Rosetta 2 là trình giả lập được thiết kế để kết nối quá trình chuyển đổi giữa bộ xử lý Intel và Apple. Nói một cách đơn giản, nó dịch các ứng dụng được xây dựng cho Intel để chúng chạy trên Apple Silicon

vâng. Vì vậy, các ứng dụng cũ của tôi và bất kỳ ứng dụng nào trong tương lai mà tôi có thể xây dựng sẽ hoạt động với chip mới? . Đây là những gì Apple nói về Rosetta

Rosetta có nghĩa là để dễ dàng chuyển đổi sang silicon của Apple, giúp bạn có thời gian để tạo tệp nhị phân chung cho ứng dụng của mình. Nó không phải là sự thay thế cho việc tạo phiên bản gốc của ứng dụng của bạn

Vì vậy, chính xác thì Rosetta làm gì?

Nếu một tệp thực thi chỉ chứa các hướng dẫn của Intel, macOS sẽ tự động khởi chạy Rosetta và bắt đầu quá trình dịch. Khi quá trình dịch kết thúc, hệ thống sẽ khởi chạy tệp thực thi đã dịch thay cho tệp gốc. Tuy nhiên, quá trình dịch thuật cần có thời gian, vì vậy người dùng có thể nhận thấy rằng các ứng dụng đã dịch đôi khi khởi chạy hoặc chạy chậm hơn

Thông tin thêm về Môi trường Dịch thuật Rosetta tại đây

Bạn có thể cài đặt môi trường Rosetta bằng cách chạy lệnh sau

softwareupdate —-install-rosetta

Sẽ là khôn ngoan khi đề cập rằng bạn có thể chạy toàn bộ Terminal của mình trong Rosetta, mặc dù tôi không chắc liệu có nên làm như vậy hay không

Chuyển đến Finder > Ứng dụng > Tiện ích > Nhấp chuột phải vào ứng dụng đầu cuối và chọn 'Nhận thông tin'. Chọn hộp có nội dung 'Mở bằng Rosetta' và đóng

Nguồn. MacBook Pro của tôi

Tôi có một sự thật thú vị về Rosetta ở cuối bài viết cho bạn. Hãy tập trung vào việc lấy Python 3 của chúng tôi. 6 môi trường làm việc trên MacBook mới

Tạo Python 3. 6 môi trường ảo

Để đạt được điều này, chúng tôi sẽ sử dụng Trình quản lý gói Nix. Không tìm hiểu quá nhiều về nó, Nix là trình quản lý gói đa nền tảng sử dụng mô hình triển khai chức năng thuần túy, nơi phần mềm được cài đặt vào các thư mục duy nhất được tạo thông qua hàm băm mật mã

Hãy làm theo các bước dưới đây

1. Kích hoạt Rosetta

Cài đặt Rosetta bằng cách chạy lệnh được cung cấp một vài dòng ở trên

2. Cài đặt Nix

Thao tác này sẽ cài đặt Nix trên máy Mac của bạn. Bước tiếp theo là tạo một mục nhập vào .zprofile— cấu hình môi trường cho shell của bạn. Điều này cho phép chúng tôi sử dụng nix thông qua trình bao

sh  Preferences > Project > Python Interpreter > Add New > Existing Environment

Nếu bạn cần trợ giúp thêm để định cấu hình Trình thông dịch Python cho PyCharm, thì đây là liên kết đến tài liệu

Đối với Visual Studio Code, hãy xem bài viết này

Được rồi, đó là nó cho bài viết này…. Oh chờ đã, tôi đã hứa với bạn một sự thật thú vị về Rosetta trước đó, phải không?

Rosetta, tôi đã nghe tên này trước đây

Apple đã sử dụng tên Rosetta trước đây. Khi chuyển Mac từ bộ xử lý PowerPC sang chip Intel, nó đã sử dụng cùng một tên để thực hiện chức năng tương tự — cho phép các ứng dụng PowerPC chạy trên chip Intel

Mặc dù tên và mục tiêu vẫn giữ nguyên, nhưng có một sự khác biệt lớn giữa Rosetta cũ và phiên bản chúng tôi đang sử dụng ngày nay vì Apple đã phát triển bộ xử lý mục tiêu, có nghĩa là nó biết chính xác Rosetta cần làm gì

Python có sẵn cho Mac M1 không?

Python được cài đặt bởi . python is natively run on M1 Max Chip.

Liệu Python 3. 8 có hoạt động trên máy Mac M1 không?

Trên Apple M1, kiến ​​trúc mặc định là arm64 và nhập hoạt động tốt trên Terminal với python 3. 8 .

Tại sao máy Mac của tôi không có Python?

Apple sẽ không gói Python 2 nữa. 7 với macOS 12. 3 , theo ghi chú phát hành dành cho nhà phát triển cho bản cập nhật phần mềm sắp tới.

Tại sao nó nói Python không được tìm thấy?

Lỗi “Python không được công nhận là lệnh nội bộ hoặc lệnh bên ngoài” gặp phải trong dấu nhắc lệnh của Windows. Lỗi xảy ra khi Không tìm thấy tệp thực thi của Python trong biến môi trường do lệnh Python trong dấu nhắc lệnh của Windows .

Chủ Đề