1. 程式人生 > >ubuntu下完美安裝pyenv+virtualenv

ubuntu下完美安裝pyenv+virtualenv

親測可用,網上還有另外一種使用git clone的安裝方式,試過了,總是有一些莫名奇妙的問題。。建議用如下方法安裝。

如果安裝失敗,可能是因為缺失了某些工具,可以執行:


sudo apt-get update
sudo apt-get install python-pip git make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev

更新下環境

轉載自:http://www.cnblogs.com/npumenglei/p/3719412.html

作為主流開發語言, 用python 開發的程式越來越多。 方便的是大多linux系統裡面都預設集成了python, 開發可以隨時隨地開始。 但有時候這也成為了一個短板, 比如說有時候我們需要開發和除錯一些需要安裝在預設python路徑裡的程式, 反覆地修改和安裝會使系統目錄越來越亂,這對於一些有潔癖的程式設計師來說是不可接受的。 還有時候我們需要在不同的python版本上開發, 而系統一般只會自帶一到兩種python版本, 切換起來更是麻煩。

本文將介紹如何利用pyenv 和virtualenv 在單機上搭建多版本python 虛擬開發環境。

首先我們搞清楚pyenv 和virtualenv分別是幹什麼的。

pyenv可以幫助你在一臺開發機上建立多個版本的python環境, 並提供方便的切換方法。

virtualenv則提供了一種功能, 就是將一個目錄建立為一個虛擬的python環境, 這樣的話, 使用者可以建立多個虛擬環境, 每個環境裡面的python版本可以是不同的, 也可以是相同的, 而且環境之間相互獨立。

如果解釋得還不是很清楚的話,我們舉例說明。

首先我們可以用pyenv 安裝多個python 版本, 比如安裝了2.5, 2.6, 3.3 三個版本。 使用者可以隨意切換當前預設的python版本。 但這時候, 每個版本的環境仍是唯一的, 如果我們想在環境中安裝一些庫的話, 還是會導致這個版本的環境被修改。 這個時候, 如果我們用virtual env去建立虛擬環境, 就可以完全保證系統路徑的乾淨。無論你在虛擬環境中安裝了什麼程式, 都不會影響已安裝版本的系統環境。

說了這麼多, 還是動手實踐一下來得實在。本文的例子是在一臺乾淨的Ubuntu機器上進行的

1. 首先我們安裝pyenv

因為我的Ubuntu是乾淨的, 所以還需要先安裝curl 和 git

sudo apt-get install curl git-core

接下來安裝pyenv

curl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

這個命令會把pyenv安裝到當前使用者的 ~/.pyenv目錄下.

同時, 我們還需要把下面程式碼存到~/.bashrc檔案中:

複製程式碼
export PYENV_ROOT="
${HOME}/.pyenv" if [ -d "${PYENV_ROOT}" ]; then export PATH="${PYENV_ROOT}/bin:${PATH}" eval "$(pyenv init -)" fi
複製程式碼

這段程式碼的作用主要是指明pyenv的位置, 以便以後可以直接在命令列裡面執行pyenv命令。 儲存在~/.bashrc 檔案中是為了每次使用者登陸後自動生效。

所以如果你是第一次執行命令並且沒有登出的話, 這一段是不會生效的, 我們還需要執行下面的命令令其生效

source ~/.bashrc

然後就可以直接在命令列裡面敲pyenv了。

2. 安裝一些必須的包

sudo apt-get build-dep python2.7

 後面安裝其他版本python的時候會需要這些包

3. 安裝某個版本的python

首先我們可以檢視一下有哪些版本的python 可以安裝

pyenv install --list

結果如下:

複製程式碼
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5
...
複製程式碼

接下來, 作為例子我們安裝兩個版本 (2.7.1 和 3.3.5)

pyenv install 2.7.1
pyenv install 3.3.5

安裝完畢後, 我們可以檢視安裝的情況

pyenv versions

輸出結果如下:

* system (set by /home/tony/.pyenv/version)
  2.7.1
  3.3.5

簡單來說我們已經在這臺機器上安裝了三個版本的python

system 代表當前系統的python 版本

2.7.1 和 3.3.5是我們用pyenv安裝的

*表示當前的python版本, 可以看到, 我們還在使用的是預設的system 自帶的python版本

4. 切換python版本做一下測試

既然已經安裝了兩個其他版本的python, 我們來做一下測試

pyenv global 2.7.1

這條命令就是將當前python 版本切換到2.7.1

再次執行 pyenv versions, 結果如下:

  system 
* 2.7.1 (set by /home/tony/.pyenv/version)
  3.3.5

可以看到當前的python 版本已經切換到2.7.1了, 如果還不放心, 直接執行 ‘python’ 命令進行驗證:

[email protected]:~$ python
Python 2.7.1 (r271:86832, May  9 2014, 01:07:17) 
[GCC 4.8.2] on linux3
Type "help", "copyright", "credits" or "license" for more information.
>>> 

這裡可以清楚看到, 當前版本確實是2.7.1

同理, 我們可以繼續用python global在各個版本之間進行切換, 如果要切換回系統版本, 請用:

pyenv global system

如果要解除安裝某個版本的python, 可以這樣:

pyenv uninstall x.x.x

5. 利用virtualenv 建立虛擬python環境

現在我們已經安裝了多個python版本,但是這還不夠, 某些有潔癖的程式設計師是一定要系統環境足夠乾淨的,這時候我們可以使用virtualenv來建立虛擬python環境

virtualenv本是一個獨立的工具,官網在這裡:https://pypi.python.org/pypi/virtualenv

幸運的是,如果你是安裝我們前面的方式安裝pyenv的,那它已經幫我們以plugin的形式安裝好了virtualenv, 我們只要使用就好了

首先我們建立一個2.7.1的虛擬環境

pyenv virtualenv 2.7.1 env271

這條命令在本機上建立了一個名為env271的python虛擬環境,這個環境的真實目錄位於:~/.pyenv/versions/

注意,命令中的 ‘2.7.1’ 必須是一個安裝前面步驟已經安裝好的python版本, 否則會出錯。

然後我們可以繼續通過 ‘pyenv versions’ 命令來檢視當前的虛擬環境, 結果如下:

* system (set by /home/tony/.pyenv/version)
  2.7.1
  3.3.5
  env271

這裡我們可以看到, 除了已經安裝的python版本, 我們多出了一個env271的python虛擬環境

6. 切換和使用新的python虛擬環境

切換到新的虛擬環境的命令為

pyenv activate env271

接下來我們的python環境就已經切換到2.7.1的虛擬環境了, 執行 ‘python’ 命令認證

(env271)[email protected]:~$ python
Python 2.7.1 (r271:86832, May  9 2014, 01:07:17) 
[GCC 4.8.2] on linux3
Type "help", "copyright", "credits" or "license" for more information.
>>>

可以看到, python版本已經是2.7.1, 而且是在虛擬環境之中 (env271)

下面基本上你就可以在這個虛擬環境裡面為所欲為了 :) 再也不用擔心繫統路徑被搞亂的問題了。

如果要切換回系統環境, 執行這個命令即可

pyenv deactivate

那如果要刪除這個虛擬環境呢? 答案簡單而且粗暴,只要直接刪除它所在的目錄就好:

rm -rf ~/.pyenv/versions/env271/

至此大功告成!

本文簡單介紹瞭如何利用pyenv 和virtualenv來單機多版本python虛擬開發環境的方法,

這兩個工具還有很多功能, 無法一一詳述,具體可以參考他們的官方文件。 本文只起到一個拋磚引玉的作用, 希望有所幫助

 

相關推薦

ubuntu完美安裝pyenv+virtualenv

親測可用,網上還有另外一種使用git clone的安裝方式,試過了,總是有一些莫名奇妙的問題。。建議用如下方法安裝。 如果安裝失敗,可能是因為缺失了某些工具,可以執行: sudo apt-get update sudo apt-get install python-pi

Ubuntu完美安裝Sublime

1、在官方下載相應的版本(我的是Ubuntu64位系統)得到.tar.bz2檔案,然後解壓: tar xf Sublime\ Text\ 2\ Build\ 2181\ x64.tar.bz2 2、減壓後得到Sublime Text 2資料夾,不用什麼編譯make了,其實它

Ubuntu環境完美安裝python模組numpy,scipy,matplotlib

不同的ubuntu版本安裝過這三個模組幾次了,然而總是出現各種問題,最近一次是在ubuntu 16.04 LTS server版本安裝的,總的來說安裝的比較順利。 先把pip安裝好 sudo apt-get install python-pip 接著是安裝

Ubuntu Eclipse 安裝SVN

path size add library 內容 svn 註意 -- xms 如果尚未安裝Eclipse,先安裝;也可以直接下載Google提供的ADT Bundle。 sudo apt-get install eclipse 安裝Subversion sudo apt-g

ubuntuapache2 安裝 配置 卸載 CGI設置 SSL設置

handler lin usr you none 找到 權限 apt view 一、安裝、卸載apache2 apache2可直接用命令安裝 sudo apt-get install apache2 卸載比較麻煩,必須卸幹凈,否則會影

ubuntutensorflow安裝

fcm rtu 真的 版本 rac ade start dev gin 先說點題外話:在用anaconda安裝很多次tensorflow失敗之後,我放棄了,如果你遇到這樣的問題:Traceback (most recent call last)…如果不是因為pip版本,就放

UbuntuClickHouse安裝

all ipv4 keys /var/ sql 如果 art 有一個 分享 ClickHouse目前僅支持在ubuntu下面部署,而且國內中國文檔也比較少 >vi /etc/apt/sources.list #在最後一行追加 #ubuntu16.04 使用Xenial

ubuntuPycharm安裝及配置

字體大小 creat 配置 註冊 字體 spa tar.gz mark 註冊碼 1.從http://www.jetbrains.com/pycharm/download/下載最新的Pycharm tar xfz pycharm-*.tar.gz,將Pycharm文件夾解壓到

Ubuntu Apache安裝和配置2

spl pac ubuntu server ould start warn it works apache。 在Ubuntu上安裝Apache,有兩種方式:1 使用開發包的打包服務,例如使用apt-get命令;2 從源碼構建Apache。本文章將詳細描述這兩種不同的安裝方式

Ubuntunagios安裝(來源官網)

update gawk ibm plain cert lib account adding resolv Ubuntu下nagios安裝(來源官網) https://assets.nagios.com/downloads/nagioscore/docs/nagioscore

Ubuntupython3安裝tkinter包

pan run 安裝完成 ref http blank 如果 case python3 case1: 首先sudo apt-get update(如果不更新很有可能找不到tkinter),然後sudo apt-get install python3-tk,安裝完成後就可

UbuntuPython安裝測試 & Geany實現Hello World!

pri images 突出 markdown 應該 打開 sta cnblogs ubunt Python是一種跨平臺的編程語言,能在所有主要操作系統下運行。Linux是為編程而設計的操作系統,因此在大多數裝了ubuntu的計算機應該默認裝了Python。 為了確定是否確實

如何查看Ubuntu安裝包版本號

包名 www. install 空格 單個 暫停 企業版 部分 下使用 之前的工作大部分在紅帽企業版 下工作,查找安裝包用rpm 很方便,但是由於這邊大部分的服務器的運行環境是ubantu,補補. 在終端下也可以很方便查看已安裝的軟件包版本號,也能單獨查看所需要的軟件包是否

Ubuntugcc安裝

size ubunt 系統 宋體 sta free lib linux ont 在Ubuntu下安裝GCC和其他一些Linux系統有點不一樣。方法一:該方法超簡單:sudo apt-get build-depgcc就上面這條命令就可以搞定方法二:sudo apt-get

eclipse(1)----ubuntu安裝與配置

linux soft 安裝與配置 lips clip 後臺 權限 官網下載 工作 eclipse的安裝與配置 1、eclipse官網下載,最新版本eclipse-jee-oxygen-3-linux-gtk-x86_64.tar.gz 2、tar包存在~/Download/

Nodejs 和 Electron ubuntu快速安裝

配置問題 選擇 https 前端知識 VM 失敗 url ctr 網上 查找時間管理軟件的時候發現了superProductivity這個程序,使用electron進行開發,於是看了一下介紹,手癢了,嘗試進行環境搭建,一下步慢慢補齊前端知識吧 nodejs安裝 nod

ubuntupip安裝模塊到正確位置

pre 目錄 name 安裝模塊 查看 show pip 安裝 dir ubuntu下用pip安裝軟件包後ipython裏面說沒有 先用 pip show tensorflow 查看應該在哪個位置,這裏不一定是tensorflow,可以是其他在ipython下可以用的模

UbuntuAnsible安裝和使用

lan 安裝和使用 light pos blank hosts HR test posit Ansible是一個批量部署的工具 參考:Ansible中文權威指南 1.安裝 sudo apt-get install software-properties-common su

ubuntu mysql安裝以後無法登陸的的解決方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))

sta mysql安裝 nat where 數據 move sel 方法 client 1. 刪除mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove

UbuntuCLion安裝

Ubuntu下CLion安裝 1.得到Linux版Clion的.tar.gz的壓縮包 去官網直接下載  https://www.jetbrains.com/clion/ 2.解壓CLion-2018.2.4.tar.gz到當前資料夾 tar -zxvf