2013-08-25 69 views
101

Tôi đang chạy Mountain Lion và phiên bản Python mặc định cơ bản là 2.7. Tôi đã tải xuống Python 3.3 và muốn đặt làm mặc định.Làm cách nào để đặt phiên bản mặc định của Python thành 3.3 trên OS X?

Hiện tại:

$ python 
    version 2.7.5 
$ python3.3 
    version 3.3 

Làm thế nào để thiết lập nó để mỗi khi tôi chạy $ python nó sẽ mở ra 3.3?

+0

Có thể trùng lặp [cách thay đổi phiên bản python mặc định?] (Http://stackoverflow.com/questions/5846167/how-to-change-default-python-version) –

Trả lời

234

Thay đổi hệ thống phiên bản python mặc định rộng sẽ phá vỡ một số ứng dụng phụ thuộc vào python2.

Bạn có thể bí danh các lệnh trong hầu hết vỏ, Mac OS X sử dụng bash theo mặc định, nếu bạn cũng làm đặt này vào ~/.bash_profile của bạn:

alias python='python3' 

python lệnh bây giờ đề cập đến python3. Nếu bạn muốn python gốc (đề cập đến python2), bạn có thể thoát khỏi bí danh nghĩa làm \python sẽ ra mắt python2 giữ bí danh hoang sơ)

Nếu bạn khởi động dịch viên thường xuyên hơn (I do), tốt hơn là để:

alias 2='python2' 
alias 3='python3' 

Mẹo: Thay vì thực hiện:

#!/usr/bin/env python 

sử dụng:

#!/usr/bin/env python3 

hệ thống sẽ sử dụng python3 để chạy python thực thi.

+2

Nếu điều này không được đặt trong ~ /. bash_profile thay vì ~/.bash_aliases? – UnsettlingTrend

+2

Đưa 'bí danh python = python3' và sau đó chạy' python' trong thiết bị đầu cuối của tôi trên osx el capitan không hoạt động đối với tôi. Đã thử lưu cả hai ~/.bash_aliases và ~/.bash_profile. – Haymaker87

+10

@ Haymaker87 chạy 'nguồn ~/.bash_profile' sau khi chỉnh sửa tệp' ~/.bash_profile'. –

7

Đi tới 'Ứng dụng', nhập thư mục 'Python', sẽ có một tập lệnh bash có tên 'Cập nhật Shell Profile.command' hoặc tương tự. Chạy kịch bản đó và nó nên làm điều đó.

Chỉnh sửa: Hey, chỉ cần đi qua điều này how to change default python version?, có vẻ như bạn không nên cập nhật nó.

2

Tôi không chắc chắn nếu điều này có sẵn trên OS X, nhưng trên linux tôi sẽ sử dụng lệnh module. See here.

Thiết lập modulefile một cách chính xác, sau đó thêm một cái gì đó như thế này để tập rc của bạn (ví dụ ~/.bashrc):

module load python3.3 

Điều này sẽ làm cho nó để đường dẫn của bạn có được chuyển sang xung quanh theo quy định khi bạn đăng nhập mà không ảnh hưởng đến bất kỳ giá trị mặc định hệ thống nào.

1

Tôi nghĩ rằng khi bạn cài đặt python, nó sẽ đặt câu lệnh đường dẫn xuất khẩu vào tệp ~/.bash_profile của bạn. Vì vậy, nếu bạn không có ý định sử dụng Python 2 nữa, bạn có thể chỉ cần loại bỏ tuyên bố đó từ đó. Bí danh như đã nêu ở trên cũng là một cách tuyệt vời để làm điều đó.

Dưới đây là cách xóa tham chiếu khỏi ~/.bash_profile - vim ./.bash_profile - loại bỏ các tài liệu tham khảo (AKA cái gì đó như: export PATH = "/ Users/bla/Anaconda: $ PATH") - lưu và thoát - Nguồn ./.bash_profile để lưu các thay đổi

+0

Nó không xảy ra – Kalanamith

20

Bạn có thể giải quyết nó bằng liên kết tượng trưng.

unlink /usr/local/bin/python 
ln -s /usr/local/bin/python3.3 /usr/local/bin/python 
+3

Đây là câu trả lời đúng (các bí danh đẹp nhưng chỉ có thể truy cập bằng bash, giới hạn nơi bạn có thể gọi từ). Tuy nhiên, tôi sẽ sử dụng 'unlink' thay vì' rm' để loại bỏ các liên kết (nếu bạn vô tình thêm dấu gạch chéo vào 'rm' bạn có thể có một số kết quả xấu). Ngoài ra, bạn có thể thực hiện 'ln -s -f ...' để ghi đè liên kết tượng trưng hiện tại. –

+1

@ChadBefus Cảm ơn bạn đã trả lời. Tôi đồng ý với ý kiến ​​của bạn. unlink an toàn hơn rm. –

+0

Liệu nó có bất kỳ hậu quả nào đối với các tập lệnh mong đợi 'python' là' python2.7' không? –

0

Tôi tin rằng hầu hết mọi người hạ cánh ở đây là sử dụng ZSH thorugh iTerm hoặc bất cứ điều gì, và điều đó sẽ đưa bạn đến this answer.

Thay vào đó, bạn phải thêm/sửa đổi lệnh của mình theo số ~/.zshrc.