Cách cài đặt phiên bản cụ thể của python trên OS X


Câu trả lời:


11

Tôi đã thực hiện loại điều này theo hai cách - tuy nhiên cả hai không cùng tồn tại với homebrew mặc dù tôi nghi ngờ nên có một cách tương tự như macports.

Đầu tiên là sử dụng Macports làm trình quản lý gói. Có các cổng riêng cho một số phiên bản python 2.x và 3.x hiện 2.4, 2.5, 2.6, 2.7 và 3.1, 3.2, 3.3 3.4 và 3.5. Ví dụ để cài đặt 3,4 do sudo port install python34Ngoài ra còn có một cổng python_select chạy nó cho phép bạn chọn phiên bản python nào được chạy bởi / opt / bin / python.
Mỗi trình quản lý gói cần chạy như trình quản lý gói duy nhất nếu không nó sẽ bị nhầm lẫn với các phiên bản thư viện và tệp thực thi khác nhau bất ngờ trên đường dẫn của nó.

Một cách khác là cài đặt trực tiếp từ python.org Điều này sẽ cài đặt một python vào / usr / local / bin Tôi nghĩ rằng điều này sẽ cài đặt một python và python3 thực thi. Vấn đề với Homebrew là nó giả định rằng mọi thứ trong / usr / local được cài đặt bởi nó và vì vậy bác sĩ bia sẽ báo cáo các thư viện và thư viện python.org như các vấn đề và vì câu hỏi này cũng cho thấy các khung trong / Thư viện sẽ có vấn đề.

EDIT 8/2018 *** Bây giờ tôi sẽ đề nghị sử dụng conda hoặc miniconda hoặc anaconda. Đây là một trình quản lý gói khác nhưng dựa trên và chủ yếu dành cho python, nó cũng cung cấp tương đương với môi trường ảo và pyenv của python (theo câu trả lời khác ) và vì vậy mỗi dự án có thể ở một python khác nhau và các thư viện khác nhau (Macports chỉ chuyển đổi phiên bản python cho tất cả các dự án)


Thật dễ dàng với brew stackoverflow.com/questions/3987683/
Raz

1
@Raz đó là cách cài đặt cái này hoặc cái kia không cài đặt cả hai và chnage giữa chúng - hoặc nếu không tôi hiểu nhầm câu trả lời - nếu nó đơn giản xin vui lòng đưa ra như một câu trả lời - hy vọng theo cách đơn giản
user151019

@Mark Tôi cần chạy dự án của mình trên phiên bản python cụ thể và google đưa ra câu trả lời này. Vì brew được đề cập trong câu hỏi, tôi muốn cài đặt phiên bản python bổ sung hơn trình quản lý gói bổ sung. Nhận xét của tôi là dành cho những người làm việc như tôi.
Raz

47

$ brew install python3 là bằng

$ brew install https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb

Vì thế. Nếu bạn muốn cài đặt một phiên bản cụ thể thì bạn phải kiểm tra trước khi cài đặt.

  • Kiểm tra lịch sử git của python.rb
  • Tìm phiên bản bạn muốn. Bây giờ bạn có thể sử dụng brew installvới hàm băm tương ứng:
    • 3.4.3_2: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rb
    • 3.5.2_3: $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ec545d45d4512ace3570782283df4ecda6bb0044/Formula/python3.rb
    • 3.6.5_1: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Ngoài ra còn có: https://github.com/sashkab/homebrew-python nơi bạn có thể cài đặt bằng brew install sashkab/python/python34brew link python34 --force

Xin lưu ý rằng python3.rb đã được đổi tên thành python.rb tại một số điểm. Thay đổi URL nếu cần thiết.


Là một FYI: Python 3.4.3_2 $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rbvà sau đó python3.4 -Vsẽ hoạt động.
iwasrobbed

@iwasrobbed đó là 404: Không tìm thấy tại thời điểm này
Ấn Độ

Điều này đã không cài đặt pip3. :(
Kirby

Thật không may, trang trình duyệt cho công thức Python 3 sẽ không hiển thị. Nó nói điều gì đó về lịch sử quá dài và mất quá nhiều thời gian để tạo ra trên trang. Tôi đã bị cám dỗ, nhưng không, nhân bản toàn bộ repo.
Mike Williamson

7
Các tập tin python3.rbđược đổi tên như python.rbđã có. Hãy thử con đường khác. Như FYI: Python 3.6.5_1 là$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
John Pang

36

Đối với python trong mac sử dụng pyenv

brew install pyenv
pyenv install <version>

Để chọn một phiên bản

pyenv local 3.5.0

Để liệt kê các phiên bản

pyenv versions

https://gist.github.com/Bouke/11261620

Bạn cần xuất PATH để ghi đè phiên bản python mặc định.

PATH="~/.pyenv/versions/2.7.10/bin:${PATH}"

Tôi sử dụng python 3.6.6rc1 đã cài đặt này nhưng brew vẫn trỏ python3 đến 3.7.0. Vì tôi đang sử dụng Heroku và Pipfile sử dụng 3.6, tôi sử dụng câu trả lời khác để cài đặt 3.6.5 (3.6.6 không có sẵn trong GitHub, theo như tôi có thể nói).
John Pang

5

Đây có vẻ là một cách tiếp cận dễ dàng hơn nhiều tránh xa / usr / local / bin !!

https://github.com/sashkab/homebrew-python

Tôi chưa thử nó, nhưng nó hứa sẽ có thể cài đặt bất kỳ phiên bản nào (và nhiều phiên bản) của Python.

Bao gồm 3.6.6 không có sẵn trong lõi bia theo như tôi có thể nói.


dự án không được chấp nhận
lobi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.