2010-07-26 7 views
48

Tôi muốn sử dụng một số phần mềm mới mà đòi hỏi Python 2.6, và chúng tôi hiện có cả 2.42.6 được cài đặt trên máy chủ CentOS chuyên dụng của chúng tôi, trông như thế này:Thay đổi phiên bản Python mặc định 2,4-2,6

$ which python 
/usr/local/bin/python 
$ which python2.6 
/usr/bin/python2.6 
$ which python2.4 
/usr/local/bin/python2.4 
$ ls -l /usr/local/bin/py* 
-rwxr-xr-x 1 root root  81 Aug 9 2007 /usr/local/bin/pydoc 
-rwxr-xr-x 2 root root 3394082 Aug 9 2007 /usr/local/bin/python 
-rwxr-xr-x 2 root root 3394082 Aug 9 2007 /usr/local/bin/python2.4 

Làm cách nào để chuyển đổi để bắt đầu sử dụng 2.6 làm mặc định python?

+0

bản sao có thể có của [Hai phiên bản python trên linux. cách tạo 2.7 mặc định] (http://stackoverflow.com/questions/19256127/two-versions-of-python-on-linux-how-to-make-2-7-the-default) – Pureferret

+1

Điều đó đã được hỏi 3 năm sau và là 2,7 không 2,6, vì vậy nó không phải là một bản sao. –

+0

Nhưng tôi nghĩ rằng nó có một câu trả lời tốt hơn và phiên bản được thảo luận không liên quan - đó là thực tế bạn có hai và muốn thay đổi mặc định. "* Bạn có thể không thực sự muốn thay đổi Python mặc định của bạn ...... Ngày đầu đó, khỉ với/usr/bin có thể phá vỡ khả năng quản lý gói của bạn quản lý gói.* "- Điều đó tách biệt với bất kỳ vấn đề phiên bản nào bạn có và cho thấy lý do tại sao câu trả lời bình chọn cao nhất không cung cấp đủ thông tin. Có lẽ, bạn muốn mọi người được chỉ ra câu trả lời mới nhất – Pureferret

Trả lời

52

Như root:

ln -sf /usr/bin/python2.6 /usr/local/bin/python 

Điều này sẽ tạo ra một liên kết tượng trưng từ/usr/local/bin/python -> /usr/bin/python2.6 (thay thế hardlink cũ).

+1

theo câu hỏi 2.6 nằm trong/usr/bin – SiggyF

+0

@SiggyF: Rất tiếc, cảm ơn! – unutbu

+0

và nếu có vẻ như không hoạt động (tôi thấy trên SLC5), hãy thử đăng xuất/in – roman

10

rm /usr/local/bin/python
ln -s /usr/local/bin/python2.6 /usr/local/bin/python

+1

Điều này làm việc cho tôi, nhưng thay vì /usr/local/bin/python2.6 tôi đã sử dụng /usr/bin/python2.6! :) –

+0

Điều này làm việc cho tôi trên CentOS Solaris –

14

Là một thay thế, bạn có thể cũng chỉ cần thêm một bí danh cho lệnh "trăn" trong tập tin khởi động shell bash của bạn.

để mở các tập tin khởi động: emacs ~/.bashrc

trong trình soạn thảo u thêm: bí danh "trăn" "python2.6"

và khởi động lại vỏ.

1

Tôi có vấn đề tương tự khi sử dụng meld, tôi chỉ cần đổi tên một địa chỉ dưới địa phương và nó hoạt động. Không phải là một giải pháp tốt mà tôi biết, nhưng tôi luôn có thể lấy lại nó.

sudo mv /usr/local/bin/python /usr/local/bin/re_python 
2

Thêm một bí danh cho lệnh "trăn" trong tập tin khởi động shell bash của bạn. KHÔNG thay đổi một liên kết tượng trưng từ/usr/bin/python, vì thay đổi Python mặc định (trong Ubuntu hay Linux Mint ví dụ) có thể phá vỡ hệ thống của bạn

PS: đọc câu trả lời khác

2

Trong CentOS

ln -sf /usr/local/bin/python2.6 /usr/local/bin/python 
ln -sf /usr/local/bin/python2.6 /usr/bin/python 

Để kiểm tra phiên bản làm:

python -V 
.210

Sau đó, để sửa chữa yum "Không mô-đun tên yum", bạn nên làm:!

vi `which yum` 

và sửa đổi #/usr/bin/python để #/usr/bin/python2.4