Hướng dẫn does python 3.8 work on m1 mac? - python 3.8 có hoạt động trên m1 mac không?

Có vẻ như không ai trả lời trong một thời gian. Để bắt đầu cuộc trò chuyện một lần nữa, chỉ cần hỏi một câu hỏi mới.

Xin chào, người dùng M1

Tôi đang điều hành một khóa đào tạo học máy trong Jupyter Notebook, và gần đây chỉ xem xét màn hình hoạt động và thấy rằng Python3.8 không chạy tự nhiên trên M1.

Tôi sợ rằng điều này có thể làm chậm khóa đào tạo của tôi. Vì vậy, làm thế nào tôi có thể định cấu hình hệ thống của mình để làm cho nó chạy trên M1 thay thế?

MacBook

Đăng vào ngày 3 tháng 3 năm 2021 8:27 sáng

3 câu trả lời

Ngày 3 tháng 3 năm 2021 8:30 sáng để đáp lại Wirachlee

Để chạy tự nhiên, Python 3.8 đó sẽ cần được biên dịch thành ARM64 với các công cụ phát triển của Apple trên M1 Mac.

Ngày 3 tháng 3 năm 2021 8:59 AM để đáp lại Wirachlee

Không. Các nhị phân phổ quát [Intel/ARM64] đầu tiên từ Python.org chỉ có sẵn bắt đầu với Python 3.9.1. Cố gắng xây dựng Python từ các nguồn đòi hỏi một số phụ thuộc khác và không phải là thứ tôi khuyên bạn nên thực hiện.

  • of1 1

Python 3.8 không chạy tự nhiên trên kiến ​​trúc M1

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 create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    1]
$ 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
    
    2, trước tiên cần cài đặt
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    3 và
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    4:
$ conda install cython pybind11
  1. Biên dịch
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    2 BY [Cảm ơn câu trả lời của Marijn] - Đừng sử dụng
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    6!Marijn's answer] - don't use
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    6!
$ 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 //github.com/numpy/numpy
$ cd numpy
$ cp site.cfg.example site.cfg
$ nano site.cfg

Chỉnh sửa bản sao

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
7: 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 create -n np_veclib python=3.9
$ conda activate np_veclib
8 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ụ:

$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
9, sau đó
$ conda create -n np_veclib python=3.9
$ conda activate np_veclib
2 sẽ nằm trong danh sách
$ conda install cython pybind11
1 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
2 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
    
    3:
    $ conda install cython pybind11
    
    4
  • B.
    $ conda install cython pybind11
    
    5:
    $ conda install cython pybind11
    
    6
  • C.
    $ conda install cython pybind11
    
    7:
    $ conda install cython pybind11
    
    8

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

$ conda install cython pybind11
9 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
$ pip install --no-binary :all: --no-use-pep517 numpy
0 - ví dụ: Các gói
$ pip install --no-binary :all: --no-use-pep517 numpy
1 được cài đặt trong B. Lưu ý rằng
$ pip install --no-binary :all: --no-use-pep517 numpy
2 hoặc
$ pip install --no-binary :all: --no-use-pep517 numpy
3 không được hỗ trợ trên ARM64.

  • D.
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    4: Cài đặt OpenBlas đầu tiên bằng
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    5. Sau đó thêm đường dẫn
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    6
    $ pip install --no-binary :all: --no-use-pep517 numpy
    
    7 vào
    $ conda create -n np_veclib python=3.9
    $ conda activate np_veclib
    
    7 và xây dựng Numpy từ nguồn.
  • $ pip install --no-binary :all: --no-use-pep517 numpy
    
    9 và
    $ git clone //github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    0 trong bài viết này.
  • Old
    $ git clone //github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    1 2cores của tôi trên MacBook Pro 2016 13in.

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

  1. $ git clone //github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    2: 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. $ git clone //github.com/numpy/numpy
    $ cd numpy
    $ cp site.cfg.example site.cfg
    $ nano site.cfg
    
    3: 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

Python 3.8 có hỗ trợ Mac M1 không?

Sự mô tả.Trên Apple M1, kiến trúc mặc định là ARM64 và nhập hoạt động OK trên thiết bị đầu cuối với Python 3.8.import works ok on Terminal with python 3.8.

Python có hoạt động trên Mac M1 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..

Bài Viết Liên Quan

Chủ Đề