Linux下切換python2和python3


為什么需要有兩個版本的Python

Python2和Python3不兼容是每個接觸過Python的開發者都知道的事,雖說Python3是未來,但是仍然有很多項目采用Python2開發。Linux的許多發行版本(如Ubuntu)都會自帶Python2.7,但是當我們准備開發一個Python3項目的時候,我們該怎么辦?

那就把Python3也下咯。嗯,Linux下確實是可以兩個一起裝的,但是問題是你怎么切換兩個版本的Python。

0x01 修改別名

首先先來看一下我們的默認Python版本

$ python --version Python 2.7.6
  • 1
  • 2

然后我們修改一下別名

$ alias python='/usr/bin/python3' $ python --version
  • 1
  • 2

Python 3.4.3 # 版本已經改變 
/usr/bin/python3 這個路徑是怎么找到的呢?

一般來說,軟件的二進制文件都可以在 /usr/bin 或 /usr/local/bin (這個優先級高一點)找到。當然如果你是Debian系的Linux,可以這么找(前提是你已經安裝了Python3):

$ dpkg -L python3
  • 1

上面的別名修改只是暫時性的,重開一個窗口后配置就不見了。如果要使每個窗口都使用這個別名,可以編輯 ~/.bashrc (如果你是別的shell的話,就不是這個文件,如zsh是 ~/.zshrc ),把alias配置寫入文件。

修改別名優點是足夠簡單,但是切換不靈活。

0x02 鏈接文件

在 /usr/bin 中建立一個鏈接文件指向Python3。

$ ln -s python /usr/bin/python3 $ python --version Python 3.4.3
  • 1
  • 2
  • 3

跟修改別名一樣,也是修改不夠靈活。

0x03 virtualenvwrapper 切換版本

virtualenvwrapper是管理Python虛擬環境的工具,可以很方便的為不同的項目建立獨立的環境,每個項目都可以安裝自己的依賴,同時也支持在不同的虛擬環境中存在不同版本的Python。

首先安裝virtualenvwrapper,可以選擇apt安裝或者pip安裝

apt安裝

$ sudo apt-get install virtualenvwrapper
  • 1

pip安裝

$ sudo pip install virtualenvwrapper
  • 1

當你需要使用Python2開發項目時,建立一個Python2的虛擬環境:

$ mkvirtualenv -p /usr/bin/python2 env27
  • 1

當你需要Python3開發時:

$ mkvirtualenv -p /usr/bin/python3.4 env34
  • 1

然后可以隨時切換不同的虛擬環境:

$ workon env27 # 進入Python2環境 $ workon env34 # 進入Python3環境
  • 1
  • 2

更爽的是,你可以在進入虛擬環境的同時切換到項目目錄,只需要編輯 $VIRTUAL_ENV/bin/postactivate 這個文件即可:

vimvimVIRTUAL_ENV/bin/postactivate #前提是已經進入對應的虛擬環境 
在文件中添加切換目錄的命令:

cd /path/to/your/project


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM