查看python 的版本:
$ python
python
python2
python2.7
python2.7-config
python2-config
python3
python3.4
python3.4-config
python3.4m
python3.4m-config
python3-config
python-argcomplete-check-easy-install-script
python-config
python-local-exec
查看某一版本的python 的具體路徑:
$ which python3.4
~/.pyenv/shims/python3.4
pyenv
安裝pyenv
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ exec $SHELL -l
查看可安裝的版本
$ pyenv install --list
該命令會列出可以用pyenv安裝的Python版本
安裝指定版本
# 使用如下命令即可安裝python 3.4.1:
$ pyenv install 3.4.1 -v
# 使用如下命令即可安裝python 3.5.2:
$ pyenv install 3.5.2 -v
更新數(shù)據(jù)庫
安裝完成之后需要對數(shù)據(jù)庫進行更新:
$ pyenv rehash
查看當前已安裝的python版本
$ pyenv versions
* system (set by /home/seisman/.pyenv/version)
3.4.1
其中的星號表示當前正在使用的是系統(tǒng)自帶的python葛账。
設置全局的python版本
$ pyenv global 3.4.1
$ pyenv versions
system* 3.4.1 (set by /home/seisman/.pyenv/version)
當前全局的python版本已經(jīng)變成了3.4.1洪鸭。也可以使用pyenv local
或pyenv shell
臨時改變python版本迈喉。
# 臨時改變環(huán)境為 python3.4.4
$ pyenv local 3.4.4
# 在交互式命令行查看
$ python
Python 3.4.4 (default, Apr 11 2016, 13:41:37)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
確認python版本
$ python
Python 3.4.1 (default, Sep 10 2014, 17:10:18)[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linuxType "help", "copyright", "credits" or "license" for more information.>>>
查看幫助:
$ pyenv -h
pyenv 20151105-4-g9ca7de5
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme
常見問題及解決:
# 嘗試安裝 3.4.4, 3.5.1赦役,3.5.2 都失敗。
$ pyenv install 3.4.4 -v
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems
BUILD FAILED (Ubuntu 14.04 using python-build 1.0.2)
Inspect or clean up the working tree at /tmp/python-build.20160922182222.4415
Results logged to /tmp/python-build.20160922182222.4415.log
Last 10 log lines:
(cd /home/pabb/.pyenv/versions/3.4.4/share/man/man1; ln -s python3.4.1 python3.1)
if test "xupgrade" != "xno" ; then \
case upgrade in \
upgrade) ensurepip="--upgrade" ;; \
install|*) ensurepip="" ;; \
esac; \
./python -E -m ensurepip \
$ensurepip --root=/ ; \
fi
Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS
##解決:
$ apt-get install libssl-dev
Installing collected packages: setuptools, pip
Successfully installed pip-8.1.1 setuptools-20.10.1
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?
Installed Python-3.5.2 to /home/pabb/.pyenv/versions/3.5.2
/tmp/python-build.20160926162640.21038 ~
# 解決
pyenv本地安裝python版本
操作實例:
1. 在ssh窗口window1 中下載對應的python包栅炒。
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
2. 下載成功之后掂摔,在window1中開啟一個web server。
如下啟動了一個web server, 監(jiān)聽8000 端口赢赊。
python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
3. 重新打開一個ssh窗口window2, 修改PYTHON_BUILD_MIRROR_URL指向window1 中啟動的web server.
因為在本機操作乙漓,使用了 localhost:8000, 如果是其他服務器器,可以使用對應的ip或hostname.
export PYTHON_BUILD_MIRROR_URL="localhost:8000"
或者:
export PYTHON_BUILD_MIRROR_URL="lb-1:8000"
安裝 3.6.1释移,添加參數(shù) -v, 顯示安裝過程的詳細信息叭披。
pyenv 3.6.1 -v
此時仍然安裝失敗。
4. 回到 window1 中玩讳,可以看到如下日志涩蜘,可以看到請求的資源名為 a01810ddfcec216bcdb357a84bfaafdfaa0ca42bbdaa4cb7ff74f5a9961e4041
127.0.0.1 - - [15/Jul/2017 12:51:04] code 404, message File not found
127.0.0.1 - - [15/Jul/2017 12:51:04] "HEAD /a01810ddfcec216bcdb357a84bfaafdfaa0ca42bbdaa4cb7ff74f5a9961e4041 HTTP/1.1" 404 -
5. 在window2 中更改資源包名。
cp Python-3.6.1.tar.xz a01810ddfcec216bcdb357a84bfaafdfaa0ca42bbdaa4cb7ff74f5a9961e4041
再重新執(zhí)行安裝命令熏纯,此時就能正常安裝了
pyenv 3.6.1 -v
pyenv使用鏡像加速
http://www.tuicool.com/articles/jAFzYrV
簡介:
基本思路都是從國內鏡像下載包皱坛。如果國內鏡像不可用,自己搭建一個豆巨。
pyenv 安裝下載好的python版本
http://bbs.51cto.com/thread-1471897-1.html
簡介:
使用pyenv安裝不同版本程序包時剩辟,由于網(wǎng)絡速度,外網(wǎng)隔離等問題往扔,不能順暢使用 pyenv install 3.5.2 安裝各個版本
解決方法:
1贩猎、 先下載好安裝程序包
2、 啟動一個本地HTTP下載服務器
python -m SimpleHTTPServer
3萍膛、 新開一個SSH窗口吭服,讓pyenv直接pull該地址上的安裝包:
export PYTHON_BUILD_MIRROR_URL="localhost:8000"
4、 執(zhí)行安裝命令
pyenv install 3.5.2
5蝗罗、 返回HTTP服務窗口艇棕,查看pyenv請求的資源名蝌戒,把中間這一串64位字符復制下來
"HEAD /0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40 HTTP/1.1" 404
6、 更改python安裝包名
cp Python-3.5.2.tar.xz 0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40
7沼琉、 再重新執(zhí)行安裝命令北苟,此時就能正常安裝了。
pyenv install 3.5.2
pyenv 安裝本地版本
http://www.cnblogs.com/uangyy/p/6186427.html
簡介:
安裝本地版本...
使用了 python -m SimpleHTTPServer 8000 的方法打瘪。
擴展閱讀:
Python多版本共存之pyenv
http://seisman.info/python-pyenv.html
簡介:
很好的介紹友鼻。
NOTE:
redhat, centos中yum 也是依賴 python 的。