博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
X Chen笔记---Centos安装使用pynev切换python
阅读量:2395 次
发布时间:2019-05-10

本文共 1836 字,大约阅读时间需要 6 分钟。

参考链接: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 ~/.pyenv或git clone git://github.com/yyuu/pyenv.git ~/.pyenv

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

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrcecho 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrcecho -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.xzhttp://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/simpletrusted-host = pypi.douban.com
你可能感兴趣的文章
poj2299 Ultra-QuickSort(线段树计数问题)
查看>>
hdu4565 So Easy!(矩阵快速幂)
查看>>
poj2528 Mayor's posters(线段树,离散化)
查看>>
线段树多lazy-tag(两个)
查看>>
hdu4578(三个更新操作,三个求值操作)
查看>>
并查集(初级)小结
查看>>
Treap
查看>>
相似图片搜索——感知哈希算法
查看>>
编译原理 词法分析
查看>>
计算机系统结构 计算机指令集结构
查看>>
计算机系统结构 输入/输出系统
查看>>
信息安全技术及应用 常规加密技术
查看>>
02-线性结构1 两个有序链表序列的合并
查看>>
HDU 1080 DP LCS
查看>>
HDU 3308 线段树+区间合并
查看>>
ASP.NET 入手页面控件及事件触发
查看>>
HDU 4123 树状DP+RMQ
查看>>
vim配置文件(持续更新)
查看>>
Fedora 16下添加终端快捷键
查看>>
HDU 4001 DP LIS
查看>>