X Chen笔记---Centos安装使用pynev切换python

参考链接:https://www.v2ex.com/t/420216

https://www.cnblogs.com/chinchillas/p/7462297.html


pyenv

pyenv 可以帮助你在开发或者生产环境里安装和管理多个 Python 版本。这对于 Python 开发者而言非常有用。

比如在 Ubuntu 12.04 上(这个版本的 Ubuntu 曾经非常流行,至今仍然驱动了很多重要系统),系统自带的 Python 版本是 2.7.6。而这个版本的 Python 缺乏对一个重要的 SSL 功能的支持—— Server Name Indication,简称 SNI。这样当你在使用如 requests 这样的 HTTP 库访问一些 HTTPS API 时,就会遇到证书错误。

对 SNI 的支持是在 Python 2.7.9 时从 Python 3 里 backport 过来的。而借助 pyenv,我们就可以在一些非常古老或者不方便升级 Python 版本的系统里用上最新版本的 Python,同时完全不会影响到系统自带的 Python 版本。

这是在 Ubuntu Linux 上使用 pyenv 安装 Python 2.7.14 (本文写作时 Python 2 的最新版本)的步骤:

首先安装一些必要的工具和支持库:

sudo apt-get install git build-essential libreadline-dev libsqlite3-dev libbz2-dev libssl-dev zlib1g-dev

然后获得 pyenv 的最新版本:

git clone https://github.com/pyenv/pyenv.git ~/.pyenvgit clone git://github.com/yyuu/pyenv.git ~/.pyenv

然后在 .bashrc 中添加三行指令,让系统可以找到 pyenv 安装的 Python:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc

之后你需要重启你的 shell 来让上面添加的 3 条指令生效。你可以登出再登录,或者简单的执行下面这个指令:

exec $SHELL

然后就可以用 pyenv 安装你需要的任何 Python 版本了,比如 2.7.14:

pyenv install 2.7.14

安装完成之后,你可以通过这条指令查看目前系统里所有的 Python 版本:

pyenv versions

你可以把某个版本设置为全局使用:

pyenv global 2.7.14

或是只对当前所在目录生效:

pyenv local 2.7.14

如果是设置为只对当前目录有效,那么在当前目录下会产生一个名为 .python-version 的文件,其中的内容是版本号。pyenv 就是根据这个文件的内容来确定当前目录应该使用哪个版本的 Python。


相关事项

因各种原因, 下载速度可能只有几KB, 甚至超时, 可将下载地址替换成国内镜像后在下载.

cd  ~/.pyenv/plugins/python-build/share/python-build/
vim 3.5.2 (如果你下载别的版本, 你就改别的文件)

将里面下载地址改成sohu的镜像地址:

https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
http://mirrors.sohu.com/python/3.5.2/Python-3.5.2.tar.xz

附搜狐镜像地址:http://mirrors.sohu.com/python/
pip安装各种库也经常容易timeout.

vim ~/.pip/pip.conf 

[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com

阅读更多
相关热词
换一批

没有更多推荐了,返回首页