Hướng dẫn can macbook air m1 run python? - macbook air m1 có chạy được python không?

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.


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 install cython pybind11
    
    2)
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
  1. Để biên dịch
    $ conda install cython pybind11
    
    3, trước tiên cần cài đặt
    $ conda install cython pybind11
    
    4 và
    $ conda install cython pybind11
    
    5:
$ conda install cython pybind11
  1. Biên dịch
    $ conda install cython pybind11
    
    3 BY (Cảm ơn câu trả lời của Marijn) - Đừng sử dụng
    $ conda install cython pybind11
    
    7!Marijn's answer) - don't use
    $ conda install cython pybind11
    
    7!
$ pip install --no-binary :all: --no-use-pep517 numpy
  1. Một giải pháp thay thế của 2. là xây dựng từ nguồn
$ git clone https://github.com/numpy/numpy
$ cd numpy
$ cp site.cfg.example site.cfg
$ nano site.cfg

Chỉnh sửa bản sao

$ conda install cython pybind11
8: Thêm các dòng sau:

[accelerate]
libraries = Accelerate, vecLib

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

$ NPY_LAPACK_ORDER=accelerate python setup.py build
$ python setup.py install
  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:
>>> import numpy
>>> numpy.show_config()

Sau đó, thông tin như

$ conda install cython pybind11
9 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 config --set pip_interop_enabled true

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

$ pip install --no-binary :all: --no-use-pep517 numpy
0, sau đó
$ conda install cython pybind11
3 sẽ nằm trong danh sách
$ pip install --no-binary :all: --no-use-pep517 numpy
2 và được cài đặt lại. Nhưng cái được cài đặt mới là từ kênh
$ pip install --no-binary :all: --no-use-pep517 numpy
3 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.
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    4:
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    5
  • B.
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    6:
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    7
  • C.
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    8:
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    9

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

$ git clone https://github.com/numpy/numpy
$ cd numpy
$ cp site.cfg.example site.cfg
$ nano site.cfg
0 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
$ git clone https://github.com/numpy/numpy
$ cd numpy
$ cp site.cfg.example site.cfg
$ nano site.cfg
1 - ví dụ: Các gói
$ git clone https://github.com/numpy/numpy
$ cd numpy
$ cp site.cfg.example site.cfg
$ nano site.cfg
2 được cài đặt trong B. Lưu ý rằng
$ git clone https://github.com/numpy/numpy
$ cd numpy
$ cp site.cfg.example site.cfg
$ nano site.cfg
3 hoặc
$ git clone https://github.com/numpy/numpy
$ cd numpy
$ cp site.cfg.example site.cfg
$ nano site.cfg
4 không được hỗ trợ trên ARM64.

  • D.
    $ git clone https://github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    5: Cài đặt OpenBlas đầu tiên bằng
    $ git clone https://github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    6. Sau đó thêm đường dẫn
    $ git clone https://github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    7
    $ git clone https://github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    8 vào
    $ conda install cython pybind11
    
    8 và xây dựng Numpy từ nguồn.
  • [accelerate]
    libraries = Accelerate, vecLib
    
    0 và
    [accelerate]
    libraries = Accelerate, vecLib
    
    1 trong bài viết này.
  • [accelerate]
    libraries = Accelerate, vecLib
    
    2 2CORE cũ của tôi trên MacBook Pro 2016 13in.

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

  1. [accelerate]
    libraries = Accelerate, vecLib
    
    3: Phân hủy SVD của tôi
import time
import numpy as np
np.random.seed(42)
a = np.random.uniform(size=(300, 300))
runtimes = 10

timecosts = []
for _ in range(runtimes):
    s_time = time.time()
    for i in range(100):
        a += 1
        np.linalg.svd(a)
    timecosts.append(time.time() - s_time)

print(f'mean of {runtimes} runs: {np.mean(timecosts):.5f}s')
  1. [accelerate]
    libraries = Accelerate, vecLib
    
    4: 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

Hai cách đơn giản để cài đặt Python và tất cả các gói khoa học dữ liệu trên M1 Mac đúng cách

Ảnh của Dmitry Chernyshov trên unplash

Sau khi mua M1 Mac, tôi nhận ra sự khó hiểu như thế nào khi thiết lập Python đúng cách với tất cả các gói khoa học dữ liệu (và các gói khoa học không dữ liệu) trên các mô hình MAC mới.

Theo hướng dẫn Anaconda dài này cho Apple Silicon, có 3 lựa chọn để chạy Python trên M1 - Pyenv, Anaconda và Miniforge.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách dễ dàng thiết lập Python trên bất kỳ M1 Mac nào bằng Anaconda và Miniforge. Anaconda mang đến tất cả các công cụ (bao gồm Python và Jupyter Notebook) và các gói được sử dụng trong khoa học dữ liệu với một cài đặt, trong khi Miniforge cho phép bạn tự do thiết lập môi trường Conda như bạn muốn, vì vậy bạn cần tự mình cài đặt bất kỳ gói nào.

Lưu ý: Các cách tiếp cận được đề cập trong hướng dẫn này đã giành được giúp bạn chạy Python tự nhiên trên M1 Macs nhưng thông qua Rosetta2. Python sẽ hoạt động tốt, chỉ cần nhớ rằng mọi người thấy hình phạt hiệu suất 20 %30% khi chạy các chương trình X86 Tiết64 với Rosetta2 so với ARM64 bản địa

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

Tùy chọn 1: Thiết lập các gói Khoa học Dữ liệu và Python với Anaconda

Các bước dưới đây sẽ giúp bạn tải xuống trình cài đặt Anaconda với tất cả các gói được sử dụng cho khoa học dữ liệu. Với tùy chọn này, chúng tôi sẽ có thể quản lý Anaconda bằng trình cài đặt đồ họa.

Bước 1: Tải xuống và cài đặt Anaconda

Chuyển đến Anaconda và nhấp vào nút Bắt đầu. Một danh sách sẽ hiển thị, chọn tùy chọn Tải xuống Trình cài đặt Anaconda. Ở đây bạn sẽ thấy các trình cài đặt Anaconda cho tất cả các hệ điều hành.

Tải xuống bất kỳ trình cài đặt 64 bit nào cho macOS (cả hai đều hoạt động tốt với các mẫu M1 nhờ Rosetta2). Trong trường hợp của tôi, tôi đã chọn trình cài đặt đồ họa 64 bit, để có những ưu đãi GUI Anaconda đẹp.

Khi tập tin được tải xuống, hãy mở nó lên để cài đặt Anaconda. Một cửa sổ sẽ bật lên, nhấn tiếp tục tiếp tục để bắt đầu cài đặt.

Bước 2: Khởi chạy Notebook/phòng thí nghiệm Jupyter

Khi Anaconda được cài đặt, bạn sẽ thấy một biểu tượng tròn màu xanh lá cây đại diện cho logo Anaconda. Nhấp vào nó để chạy Anaconda. Nếu bạn đã tải xuống trình cài đặt đồ họa như tôi, bạn sẽ thấy Navigator Anaconda được hiển thị bên dưới.

Hình ảnh của tác giả

Các ứng dụng chính cho khoa học dữ liệu là Jupyter Notebook và Jupyter Lab. Hãy để ra mắt bất kỳ ai trong số họ và nhập một vài thư viện khoa học dữ liệu để kiểm tra mọi thứ đã được thiết lập chính xác

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

Lần đầu tiên bạn nhập thư viện, nó có thể mất nhiều hơn bình thường.

Bước 3: Cài đặt bất kỳ thư viện bổ sung nào

Anaconda mang đến các gói phổ biến nhất cho khoa học dữ liệu, nhưng có thể có một vài thư viện bổ sung mà bạn sẽ cần cài đặt cuối cùng.

Để làm như vậy, hãy đi đến phần Môi trường trên mạng nằm ở bên trái. Sau đó, chọn môi trường mà bạn sử dụng (mặc định mà nó có tên là cơ sở), nhấp vào danh sách thả xuống và chọn không được cài đặt. Sau đó, tất cả các gói có sẵn thông qua kênh Conda-Forge sẽ được hiển thị. Trên hộp tìm kiếm, bạn có thể viết bất kỳ thư viện nào bạn muốn và sau đó chọn hộp để cài đặt thư viện.

Hình ảnh của tác giả

Các ứng dụng chính cho khoa học dữ liệu là Jupyter Notebook và Jupyter Lab. Hãy để ra mắt bất kỳ ai trong số họ và nhập một vài thư viện khoa học dữ liệu để kiểm tra mọi thứ đã được thiết lập chính xác

Lần đầu tiên bạn nhập thư viện, nó có thể mất nhiều hơn bình thường.

Bước 3: Cài đặt bất kỳ thư viện bổ sung nào

Anaconda mang đến các gói phổ biến nhất cho khoa học dữ liệu, nhưng có thể có một vài thư viện bổ sung mà bạn sẽ cần cài đặt cuối cùng.

Để làm như vậy, hãy đi đến phần Môi trường trên mạng nằm ở bên trái. Sau đó, chọn môi trường mà bạn sử dụng (mặc định mà nó có tên là cơ sở), nhấp vào danh sách thả xuống và chọn không được cài đặt. Sau đó, tất cả các gói có sẵn thông qua kênh Conda-Forge sẽ được hiển thị. Trên hộp tìm kiếm, bạn có thể viết bất kỳ thư viện nào bạn muốn và sau đó chọn hộp để cài đặt thư viện.

Đó là nó! Bạn đã sẵn sàng sử dụng Python cho khoa học dữ liệu. Nếu một cái gì đó không rõ ràng, hãy kiểm tra video dưới đây để biết thêm chi tiết.

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

Tùy chọn 2: Thiết lập Python với miniforge

Lưu ý: Để cài đặt homebrew, bạn cần cài đặt các công cụ xây dựng Xcode. Nếu bạn không chắc chắn liệu bạn đã có nó, đừng lo lắng; Thiết bị đầu cuối sẽ cho bạn biết nếu các công cụ xây dựng Xcode bị thiếu và yêu cầu cài đặt nó.

Bước 2: Cài đặt miniforge

Khi Homebrew được cài đặt, hãy khởi động lại thiết bị đầu cuối và cài đặt miniforge chạy lệnh sau.

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

Trong trường hợp bạn gặp lỗi

[accelerate]
libraries = Accelerate, vecLib
5, có lẽ homebrew đã được lưu trong
[accelerate]
libraries = Accelerate, vecLib
6Instead của
[accelerate]
libraries = Accelerate, vecLib
7 nếu trường hợp đó, bạn phải sửa đổi đường dẫn của mình với lệnh bên dưới (chi tiết hơn về stackoverflow).
If that’s the case, you have to modify your PATH with the command below (more details on StackOverflow).

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

Sau này, bạn có thể sử dụng

[accelerate]
libraries = Accelerate, vecLib
8 và cài đặt miniforge. Bây giờ, thời gian để tạo và kích hoạt một môi trường ảo.

Bước 3: Thiết lập và kích hoạt môi trường ảo

Để cài đặt môi trường ảo, hãy chạy lệnh bên dưới trên thiết bị đầu cuối. Trong ví dụ này, tôi sẽ tạo ra một môi trường mới có tên

[accelerate]
libraries = Accelerate, vecLib
9 với Python 3.8

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

Sau này, bạn phải kích hoạt môi trường chạy lệnh sau.

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

Bước 4: Cài đặt bất kỳ thư viện Python nào

Cuối cùng, bạn có thể cài đặt gói Python chạy lệnh bên dưới.

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

Hãy để cài đặt các thư viện Python phổ biến nhất được sử dụng trong khoa học dữ liệu.

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

Bạn cũng nên cài đặt Jupyter Notebook và/hoặc Jupyter Lab.

$ conda install cython pybind11
0

Để chạy máy tính xách tay Jupyter, hãy chạy lệnh sau trên thiết bị đầu cuối.

$ conda install cython pybind11
1

Đó là nó! Bạn đã sẵn sàng sử dụng Python cho khoa học dữ liệu.

Python có hoạt động trên M1 Mac không?

Một số hướng dẫn tôi đã thấy đã đề xuất cài đặt các gói x86 (Intel), nhưng có một hình phạt hiệu suất khi các chương trình X86 được Rosetta2 giải thích để hoạt động trên M1 Macs.Thay vào đó, các hướng dẫn này sẽ giúp bạn có một môi trường Python khoa học đầy đủ hoạt động tự nhiên trên kiến trúc M1.these instructions will get you a fully functioning scientific Python environment working natively on M1 architecture.

MacBook Air M1 có tốt cho Python không?

Có, MacBook Air là tuyệt vời cho một số ngôn ngữ lập trình bao gồm Python..

MacBook Air có thể xử lý Python không?

Có, MacBook Air có thể xử lý lập trình, Android, iOS và Python, tuy nhiên một số hệ điều hành điện thoại thông minh có thể yêu cầu nhiều tài nguyên có sẵn mà MacBook Air cho phép trong một phiên., however some of the smartphone OS can require a lot of the available resources the Macbook air allows during a session.