详解使用 pyenv 管理多个版本 python 环境
作者:kongxx 发布时间:2023-11-01 03:40:05
标签:pyenv,python版本
随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 virtualenv只能管理同一个 python 版本下第三方库的版本,但是对于这种需要在多个不同版本之间切换的 case,就只能使用 pyenv 了。
安装
运行下面的命令会自动下载安装
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
安装完成后,需要修改 ~/.bashrc 文件,把pyenv加到 PATH 里。这里是添加如下行到 ~/.bashrc 文件中。
export PATH="/home/kongxx/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
然后 source 一下环境
$ .~/.bashrc
使用 pyenv 管理 python 版本
首先查看当前系统上已经安装和正在使用的 python 版本。
$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)
其中 system 表明是系统安装的包。* 表示当前正在使用的 python 环境。
查看当前可以被安装的 python 版本。
$ pyenv install -l
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
...
安装指定版本的 python
$ pyenv install 2.7.10
Downloading Python-2.7.10.tar.xz...
-> https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
Installing Python-2.7.10...
patching file ./Lib/site.py
Installed Python-2.7.10 to /home/kongxx/.pyenv/versions/2.7.10
$ pyenv install 3.2.1
...
安装后查看现在已经安装了的 python 版本。
$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)
2.7.10
3.2.1
使用制定版本的 python
$ pyenv global 3.2.1
$ python -V
Python 3.2.1
使用后查看当前使用的 python 版本。
$ pyenv version
3.2.1 (set by /home/kongxx/.pyenv/version)
$ pyenv versions
system
2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)
使用 pyenv 管理 virtualenv
创建一个 virtualenv 环境
这里使用 python 3.2.1 来创建一个 virtualenv 环境
$ pyenv virtualenv 3.2.1 myenv
$ pyenv versions
system
2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)
3.2.1/envs/myenv
myenv
激活当前需要使用的 virtualenv
$ pyenv activate myenv
$ pyenv versions
system
2.7.10
3.2.1
3.2.1/envs/myenv
* myenv (set by PYENV_VERSION environment variable)
去除当前需要使用的 virtualenv
$ pyenv deactivate
删除当前需要使用的 virtualenv
$ pyenv virtualenv-delete myenv
来源:http://blog.csdn.net/kongxx/article/details/78280215?utm_source=tuicool&utm_medium=referral
0
投稿
猜你喜欢
- 前言每个人写脚本时的格式都会有所不同,有的会注明脚本本身的一些信息,有的则开门见山,这在小团队里其实没什么,基本别人做什么你也都知道,但如果
- 自执行函数:自动执行的函数。它在被解释时就已经在运行了。一般函数都是在被调用时才会执行的。 自执行函数的一般格式:(function() {
- 使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能。微信商城中,使用微信支付获取用户的收货地址,可以省略用户输入
- 你用过css么?当然,我是指你喜欢做网页的话,用过?很好,那你用过它的特效么?没有?那请跟我来。让我先
- SQL Server查询速度慢的原因有很,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/
- 这个url的正则表达式判断的js!是比较全面的。它验证的情况包括!IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!
- 问题:在论坛发表回复时出现“The table is full”的提示,字面意义上是数据表已满的意思。因为很少有开发者遭遇单一表超过4G的情
- 引言最近研究Go爬虫相关的知识,使用到goquery这个库比较多,尤其是对爬取到的HTML进行选择和查找匹配的内容时,goquery的选择器
- HP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpq
- Array.prototype中定义了很多操作数组的方法,下面介绍ECMAScript3中的一些方法1.Array.join()方法该方法将
- 一. 介绍一个计数器工具提供快速和方便的计数,Counter是一个dict的子类,用于计数可哈希对象。它是一个集合,元素像字典键(key)一
- 准备在以后制作的网站中尝试一些变化,比如:先提交内容,后提示注册/登陆。感觉这样可以绑架更多用户……不想注册再发言?那就先让你上钩发言,然后
- 数据可视化是一种将庞杂抽象的数据转化为直观易懂的图形的数据呈现技术,它能帮助我们快速把握数据的分布和规律,更加轻松地理解和探索信息。在当今这
- 原本运行正常的ASP页面,今天突然提示: 代码如下: Microsoft VBScript 运行时错误 错误 '800a01a8&
- Set objTextStream=FileSystemObject.CreateTextFile(Filename,[Overwrite]
- 如何检测某个对象是否有某个属性?第一想到的——没错,in:"prop" in obj这很完美,不过,还有不少人热衷下面的
- 本讲的内容是使用ASP的ActiveX Server Components(组件),说实话下面的内置组件我们用的很少。一、 Browser
- 一、图像二值化1.效果2.源码import cv2import numpy as npimport matplotlib.pyplot as
- 错误的代码①d = {'a':1, 'b':0, 'c':1, 'd':0}
- 在WEB2.0这个词未出现之前,是没有所谓的WEB1.0之说的,那时候的互联网也是没有时代之分的,能上的网站不多,值得上的网站更不多,很多的