Hướng dẫn python m1 mac - python m1 mac

Tôi đã tìm ra một giải pháp giải pháp - Cách cài đặt Numpy trên M1 Max, với hiệu suất tăng tốc nhất (Apple's Veclib)? Đây là câu trả lời kể từ ngày 6 tháng 12 năm 2021.

Nội dung chính

  • Chip M1 mới là gì và điều gì làm cho nó khác biệt là gì?
  • Bây giờ bạn có thể chạy Python trên Apple MacBook với chip M1
  • Xin chào, Rosetta 2!
  • Tạo môi trường ảo Python 3.6
  • 1. Kích hoạt Rosetta
  • 2. Cài đặt Nix
  • 3. Thiết lập Nix để sử dụng với vỏ của bạn
  • 4. Nhận vỏ Python 3.6 tạm thời với Nix
  • 5. Định cấu hình trình thông dịch Python trong IDE của bạn
  • Rosetta, tôi đã nghe tên này trước đây!
  • Tôi có thể cài đặt Python trên Mac M1 không?
  • Tôi có phiên bản M1 Mac Mac?
  • MacBook Pro M1 có tốt cho lập trình Python không?
  • Bạn có thể viết mã trên Mac M1 không?


Vì vậy, Python của bạn được chạy tự nhiên trên ARM64, không được dịch qua Rosseta.

  1. Tải xuống miniforge3-macosx-arm64.sh, sau đó
  2. Chạy tập lệnh, sau đó mở một shell khác
$ bash Miniforge3-MacOSX-arm64.sh
  1. Tạo một môi trường (ở đây tôi sử dụng tên
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    7)
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
  1. Để biên dịch
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    8, trước tiên cần cài đặt
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    9 và
    $ conda install cython pybind11
    
    0:
$ conda install cython pybind11
  1. Biên dịch
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    8 BY (Cảm ơn câu trả lời của Marijn) - Đừng sử dụng
    $ conda install cython pybind11
    
    2!Marijn's answer) - don't use
    $ conda install cython pybind11
    
    2!Marijn's answer) - don't use
    $ conda install cython pybind11
    
    2!
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
0
  1. Một giải pháp thay thế của 2. là xây dựng từ nguồn
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
1

Chỉnh sửa bản sao

$ conda install cython pybind11
3: Thêm các dòng sau:
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
3

Sau đó xây dựng và cài đặt:

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
4
  1. Sau khi 2 hoặc 3, bây giờ hãy kiểm tra xem Numpy có sử dụng veclib hay không:
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
5

Sau đó, thông tin như

$ conda install cython pybind11
4 nên được in.

Thực hiện các gói nhận dạng Conda được cài đặt bởi PIP

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
7

Điều này phải được thực hiện, nếu không nếu ví dụ:

$ conda install cython pybind11
5, sau đó
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
8 sẽ nằm trong danh sách
$ conda install cython pybind11
7 và được cài đặt lại. Nhưng cái được cài đặt mới là từ kênh
$ conda install cython pybind11
8 và chậm.

Ngoại trừ cái tối ưu ở trên, tôi cũng đã thử một số cài đặt khác

  • A.
    $ conda install cython pybind11
    
    9:
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    00
  • B.
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    01:
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    02
  • C.
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    03:
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    04

Các tùy chọn ABC trên được cài đặt trực tiếp từ Channel Conda-Forge.

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
05 sẽ hiển thị kết quả giống hệt nhau. Để xem sự khác biệt, hãy kiểm tra bằng
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
06 - ví dụ: Các gói
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
07 được cài đặt trong B. Lưu ý rằng
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
08 hoặc
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
09 không được hỗ trợ trên ARM64.
  • D.
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    10: Cài đặt OpenBlas đầu tiên bằng
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    11. Sau đó thêm đường dẫn
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    12
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    13 vào
    $ conda install cython pybind11
    
    3 và xây dựng Numpy từ nguồn.
  • $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    15 và
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    16 trong bài này.
  • $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    17 2CORE cũ của tôi trên MacBook Pro 2016 13in.

Ở đây tôi sử dụng hai điểm chuẩn:

  1. $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    18: Phân hủy SVD của tôi
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
2
  1. $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    19: Một kịch bản điểm chuẩn của Dario Radečić tại bài viết trên.
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
0

Giữ lấy, đừng hối tiếc khi mua hàng của bạn!

Nguồn: 9to5mac

Apple MacBooks thật tuyệt vời. Họ đã cung cấp hiệu suất và hiệu quả nhất quán trong vài năm qua, khiến họ trở thành lựa chọn ưa thích cho các nhà phát triển (mặc dù họ có một chút đắt so với các lựa chọn khác ngoài kia). Bài viết này đã giành chiến thắng trong việc so sánh giữa các tùy chọn khác nhau ngoài kia, 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 đã có một chiếc Apple MacBook Pro với chip M1 mới ngày hôm qua và tôi ngay lập tức gặp phải một vấn đề 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à vì nó là một dự án được triển khai, việc thay đổi phiên bản Python chỉ để nó tương thích với người bạn đồng hành mới của tôi sẽ là một công thức cho thảm họa 💥!

Trước khi chúng ta đến với cách giải quyết của việc này, hãy để hiểu chip M1 mới chi tiết hơn một chút.

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

Chip Apple Silicon M1 là công ty Hệ thống trên chip đầu tiên (SOC) và là người đầu tiên trong gia đình chip của Apple Silicon dựa trên ARM.

M1 là bộ xử lý 8 lõi, 5 nanomet với kiến ​​trúc bộ nhớ thống nhất. Điều này cho phép hiệu suất nhanh hơn trên các máy tính MAC bằng cách 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 tuyên bố hiệu quả 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, chip sẽ cho phép các ứng dụng iPhone và iPad lần đầu tiên chạy trên máy Mac.

Cho đến bây giờ, bạn có thể đã sử dụng 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 bạn có thể được sử dụng để đượ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 còn có thể hiểu các hướng dẫn x86_64 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 thực hiện tương thích với các 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

Python 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 do M1 cung cấp.

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

Nhưng chờ đã, Python 3.9.1 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à một 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 sẽ chạy trên Apple Silicon.

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

Rosetta có nghĩa là để giảm bớt sự chuyển đổi sang Apple Silicon, cho bạn thời gian để tạo ra một nhị phân phổ quát cho ứng dụng của bạn. Nó không phải là một thay thế để tạo phiên bản gốc của ứng dụng của bạn.

Vì vậy, Rosetta làm chính xác những gì? Theo Apple,

Nếu một thực thi chỉ chứa các hướng dẫn Intel, MacOS sẽ tự động khởi chạy Rosetta và bắt đầu quá trình dịch. Khi kết thúc dịch, hệ thống khởi chạy thực thi được dịch thay cho bản gốc. Tuy nhiên, quá trình dịch cần 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 ra hoặc chạy chậm hơn vào các thời điểm.

Thông tin thêm về môi trường dịch Rosetta ở đây.

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

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
1

Sẽ là khôn ngoan khi đề cập rằng bạn có thể điều hành toàn bộ thiết bị đầu cuối của mình dưới Rosetta, mặc dù tôi không chắc nó có nên làm như vậy không.

Truy cập Finder> Ứng dụng> Tiện ích> Nhấp chuột phải vào ứng dụng Terminal 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 vào cuối bài viết cho bạn. Hãy để tập trung vào việc có được môi trường Python 3.6 của chúng tôi hoạt động trên MacBook mới.

Tạo môi trường ảo Python 3.6

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

Hãy để 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 đưa ra một vài dòng ở trên.

2. Cài đặt Nix

Điều 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 vào ________ 50 của bạn Cấu hình môi trường cho vỏ của bạn. Điều này cho phép chúng tôi sử dụng NIX thông qua vỏ.

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
2

3. Thiết lập Nix để sử dụng với vỏ của bạn

Nếu bạn không có

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
30 trong thư mục nhà của bạn, hãy sử dụng lệnh Touch để tạo một. Hãy chắc chắn rằng bạn là bạn trong thư mục nhà của bạn khi làm điều này.
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
3

Sau đó mở nó ra và thêm dòng này vào tệp.

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
4

Tuyệt vời, bây giờ bạn có thể truy cập Nix từ vỏ. Tôi đã đề nghị khởi động lại thiết bị đầu cuối để đảm bảo mọi thứ là A-OK!

4. Nhận vỏ Python 3.6 tạm thời với Nix

Khởi chạy vỏ Nix cho Python 3.6 với lệnh sau.

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
5

Điều này sẽ tạo ra một môi trường Python 3.6 mà bạn có thể sử dụng để cài đặt các gói. Một bước cuối cùng để đi!

5. Định cấu hình trình thông dịch Python trong IDE của bạn

Khi bạn đã cài đặt các gói, điều duy nhất còn lại phải làm là trỏ trình thông dịch IDE Python của bạn vào phiên bản chúng tôi đã tạo trong bước cuối cùng.

Tôi sử dụng pycharm, vì vậy tôi đã cấu hình trình thông dịch python từ các bước dưới đây.

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
6

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

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

Được rồi, đó là nó cho bài viết này. Đúng…

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

Apple đã sử dụng tên Rosetta trước đây. Khi nó di chuyển máy Mac từ các bộ xử lý PowerPC sang chip Intel, nó đã sử dụng cùng một tên để thực hiện cùng một chức năng - 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 ta đang sử dụng ngày nay bởi vì Apple đã phát triển bộ xử lý mục tiêu, điều đó có nghĩa là nó biết chính xác những gì Rosetta cần làm.

Có phải là tuyệt vời không? 😍

Tôi có thể cài đặt Python trên Mac M1 không?

Tải xuống và cài đặt phiên bản Pygplate mới nhất tương ứng với kiến ​​trúc hệ thống của bạn (Mac M1 Arm) và lưu ý thư mục cài đặt và đường dẫn Python. Cài đặt Conda (chúng tôi đề xuất Miniforge) và tạo một môi trường mới, ví dụ: Conda Tạo -N Pygplate Python = 3.9.

Tôi có phiên bản M1 Mac Mac?

Để kiểm tra phiên bản Python trên máy Mac và Windows của bạn, hãy mở thiết bị đầu cuối cho Mac hoặc Ứng dụng nhắc lệnh (CMD) cho Windows.type lệnh PythonTHERVersion.Thực hiện nó và nó sẽ trả về phiên bản đã cài đặt của Python.Open the terminal for Mac or command prompt application(CMD) for Windows.Type the Python –version command. Execute it and it will return the installed version of Python.Open the terminal for Mac or command prompt application(CMD) for Windows. Type the Python –version command. Execute it and it will return the installed version of Python.

MacBook Pro M1 có tốt cho lập trình Python không?

Nhìn chung, MacBook Air đủ tốt để lập trình, nhưng MacBook Pro được giới thiệu cho những người sử dụng Python, Ruby, Java, phát triển web, học máy và nhiều nhiệm vụ liên quan đến lập trình khác.the MacBook Pro is reccomended for those using Python, Ruby, java, web development, machine learning and many other programming related tasks.the MacBook Pro is reccomended for those using Python, Ruby, java, web development, machine learning and many other programming related tasks.

Bạn có thể viết mã trên Mac M1 không?

Mã VS có chạy trên máy Mac M1 không?# Có, mã VS hỗ trợ các bản dựng MacOS Arm64 có thể chạy trên MAC với chip Apple M1.Bạn có thể cài đặt bản dựng Universal, bao gồm cả các bản dựng Intel và Apple Silicon hoặc một trong các bản dựng cụ thể của nền tảng.Yes, VS Code supports macOS ARM64 builds that can run on Macs with the Apple M1 chip. You can install the Universal build, which includes both Intel and Apple Silicon builds, or one of the platform specific builds.Yes, VS Code supports macOS ARM64 builds that can run on Macs with the Apple M1 chip. You can install the Universal build, which includes both Intel and Apple Silicon builds, or one of the platform specific builds.