pyenv快速入门
在开发Python程序的时候,有时候可能需要在不同版本的Python上进行测试。pyenv就是这么一个管理多版本Python的工具。由于在Windows中我们可以同时安装多个版本的Python,所以这里是在Linux下介绍该工具。
安装
首先当然是安装pyenv了,最简单的办法就是利用官方Github仓库中的安装脚本了:
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
安装脚本有可能会提示你手动把几行命令添加到shell的配置文件中。
如果你用的是zsh的话,别忘了替换命令中的bash。将来如果要删除的话,需要在.zshrc
文件中删除。如果你用oh-my-zsh的话,不需要在.zshrc
中添加那几行(加了也没用),而是在.zshrc
中启用pyenv插件。
将来要进行更新的话:
$ pyenv update
要卸载pyenv的话更加简单,直接删除目录即可:
$ rm -fr ~/.pyenv
别忘了把.bashrc
中的这几行也一并删掉:
export PATH="~/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
工作原理
Linux环境变量
当执行命令的时候,系统会在环境变量中从左到右依次寻找匹配的命令并执行。环境变量中是一组以冒号:
分隔的路径。
垫片(Shims)
pyenv的工作原理其实很简单,将它自己管理的Python目录插到环境变量的最前面,这样一来系统在搜索Python的时候第一个找到的就是pyenv管理的Python环境。这个插到最前面的路径就叫做垫片(shims),当然这是在英文语境下,在中文环境下我老觉得怪怪的,反正理解意思就好。
选择Python版本
当执行pyenv命令的时候,它会按照以下顺序来决定要使用的Python版本:
- 使用
PYENV_VERSION
环境变量(如果存在). 你可以使用pyenv shell
命令来在当前shell环境中设置该环境变量. - 当前目录中应用程序指定的
.python-version
文件(如果存在). 你可以用pyenv local
命令来修改当前目录的.python-version
文件. - 自底向上搜索各层上级目录,找到的第一个
.python-version
, 直到到达文件系统根目录. - 全局的
$(pyenv root)/version
文件. 可以使用pyenv global
命令来修改. 如果全局版本文件不存在, pyenv假设你使用系统安装的Python. (换句话说就是未安装pyenv时环境变量中找到的Python.)
常用命令
完整命令请参考官方文档。
安装
列出所有可安装的Python版本:
pyenv install -l|--list
安装某个Python:
pyenv install <version>
卸载
卸载某个Python,-f
参数指定是否强制卸载,如果强制卸载的话不会弹出提示,而且如果版本不存在的话也不会显示错误信息:
pyenv uninstall [-f|--force] <version>
versions
列出所有已安装的Python,当前使用的Python会用星号标出:
$ pyenv versions 2.5.6 2.6.8 * 2.7.6 (set by /home/yyuu/.pyenv/version) 3.3.3 jython-2.5.3 pypy-2.2.1
global
通过写~/.pyenv/version
文件的方式设置全局Python:
$ pyenv global 2.7.6
local
通过在当前目录写.python-version
文件的方式设置当前目录下的Python:
pyenv local 2.7.6
当不再需要本地Python的时候,用--set
来清除:
$ pyenv local --unset
shell
指定当前shell使用的Python:
$ pyenv shell pypy-2.2.1
当不再需要的时候,用--set
来清除:
$ pyenv shell --unset
最后展示一下pyenv install -l
的输出,可以看到,pyenv可以方便的安装大部分版本的Python,省略号表示中间有一大堆:
yitian@ubuntu:~ $ pyenv install -l Available versions: 2.1.3 ... 2.7.15 ... 3.6.6 3.7.0 3.7-dev 3.8-dev activepython-2.7.14 activepython-3.5.4 activepython-3.6.0 anaconda-1.4.0 ... anaconda3-5.2.0 ironpython-dev ironpython-2.7.4 ironpython-2.7.5 ironpython-2.7.6.3 ironpython-2.7.7 jython-dev jython-2.5.0 jython-2.5-dev jython-2.5.1 jython-2.5.2 jython-2.5.3 jython-2.5.4-rc1 jython-2.7.0 jython-2.7.1 micropython-dev micropython-1.9.3 micropython-1.9.4 miniconda-latest miniconda-2.2.2 ... miniconda3-4.3.30 pypy-c-jit-latest pypy-c-nojit-latest pypy-dev pypy-stm-2.3 pypy-stm-2.5.1 pypy-1.5-src pypy-1.5 ... pypy3.5-6.0.0 pyston-0.5.1 pyston-0.6.0 pyston-0.6.1 stackless-dev stackless-2.7-dev stackless-2.7.2 ... stackless-3.5.4
常见问题
用pyenv安装Python的时候可能会出现各种各样问题,例如缺少zlib、缺少ctypes模块等等。对此pyenv也有专门一个页面解决。对于我的Ubuntu 18.04虚拟机来说,安装以下一坨软件可以解决问题:
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev libedit-dev
其他系统请查看pyenv的页面,如果有其它问题请自行搜索Stack Overflow。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Django搭建个人博客(一)
什么是 Django Django 是一个基于 python 的高级 web 开发框架。 它能够让开发人员进行高效且快速的开发。 高度集成(不用自己造轮子),免费并且开源。我们只要专注于网站本身的开发就好了。 浏览器浏览网页的基本原理 本质是网络通信,即通过网络进行数据传输 浏览器经过通信后获取到该页面的源代码文档(HTML等) 浏览器解析文档后以适当的形式展现给用户 创建项目 在 pycharm 中新建 Django 项目。 项目目录结构: 目录结构 manage.py 文件 它是与项目进行交互的命令行工具集的入口 也就是项目管理器 我们点运行命令: 运行 下方控制台输出: Performing system checks... System check identified no issues (0 silenced). You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, conte...
- 下一篇
2018年最佳黑客书籍
那么你应该阅读哪本书?毋庸置疑,黑客的书籍有很多,有好有坏。下面我根据流行度和普遍认为最好书籍罗列出来: 1、《Hacking》 这本初学者指南着重让你了解黑客是如何工作的以及如何保护自己免受常见的黑客攻击。本书中还包含了黑客所使用的工具和技术。向你展示了如何在你的系统上发现攻击,以便尽可能减少任何潜在的损害。 2、《Hacking: The Art of Exploitation》 这本书可能是有史以来最好的黑客书籍之一。它解释了黑客和软件漏洞如何工作,以及读者如何开发和实现他们自己的漏洞。作者Jon Erickson再次使用实际示例说明了三个相关领域中最常见的计算机安全问题:编程、网络和加密。 本书附带一个LiveCD,它为您提供Linux环境,而无需修改现有的操作系统设置。您可以按照本书的示例进行操作,调试代码,溢出缓冲区,利用加密弱点,甚至可以向你展示如何创建自己的新漏洞。真的是很棒的一本书 3、《The Hacker Playbook 2》 市场上口碑极好的渗透测试图书,在美亚的测试图书领域排名第1,Hacker Playbook 由Secure PlanetCEO撰写,有1...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6