因為找到一個域名枚舉的腳本使用Python3編寫的,而我一直習慣的是使用Python2.7,在自己的Windows7上再安裝個Python怕混了,於是想着在VPS上裝個Python的版本管理工具,也方便自己以后測試,想到了pyenv(之前的是pythonbrew但是已經不在更新了,都是同一個作者),在GitHub上的鏈接為:https://github.com/yyuu/pyenv
安裝pyenv:
安裝Python:
查看可安裝版本列表:
$ pyenv install –list
安裝指定版本:
$ pyenv install 3.4.1
該命令會從github上下載python的源代碼,並解壓到/tmp目錄下,然后在/tmp中執行編譯安裝工作。編譯過程依賴一些其他的庫文件,若庫文件不能滿足,則編譯錯誤,需要重新下載、編譯。。。(常見編譯問題解決方法:https://github.com/yyuu/pyenv/wiki/Common-build-problems)
已知的一些需要預先安裝的庫包括:
- readline readline-devel readline-static
- openssl openssl-devel openssl-static
- sqlite-devel
- bzip2-devel bzip2-libs
在所有python依賴庫都安裝好的情況下,python的安裝很順利(我在兩個VPS上分別裝的時候,一個非常順利,另一個則總是出問題)。
更新數據庫
安裝完成之后需要對數據庫進行更新:
$ pyenv rehash
查看當前已安裝的python版本
$ pyenv versions
* system (set by /export/root/.pyenv/version)
3.4.1
其中的星號表示使用的是系統自帶的python。
設置全局的python版本
$ pyenv global 3.4.1
$ pyenv versions
system
* 3.4.1 (set by /export/root/.pyenv/version)
當前全局的python版本已經變成了3.4.1。也可以使用pyenv local或pyenv shell臨時改變python版本(重新登錄后失效)。
確認python版本:
$ python
Python 2.7.3 (default, Feb 27 2014, 20:00:17)
[GCC 4.6.3] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
使用python:
輸入python即可使用新版本的python;
系統命令會以/usr/bin/python的方式直接調用老版本的python;
使用pip安裝第三方模塊時會安裝到~/.pyenv/versions/3.4.1下,不會和系統模塊發生沖突。
———————–
參考文章:
https://github.com/yyuu/pyenv#installation
http://seisman.info/python-pyenv.html
———————–
附上安裝過程中出現的一些問題及其解決方法:
$ pyenv install 3.4.1 #這里選擇目前為止最新的Python3.4.1
……
checking whether the C compiler works… no
configure: error: in `/tmp/python-build.20140621173243.14345/Python-3.4.1′:
configure: error: C compiler cannot create executables
然后再執行:
安裝bzip2和OpenSSL庫依賴(因為Python3.4.1這個版本修復了之前的Heart Bleed那個漏洞,所以OpenSSL的版本和之前的版本不同,需要重新安裝最新版本的OpenSSL,這是我估計的,因為在Python的官方主頁上面看到Python3.4.1這個版本修復了HeartBleed漏洞)
試試再運行一遍基礎庫依賴的安裝命令:
再執行安裝命令,果然就沒問題了: