python虽好,版本让人烦恼 人生苦短,我用python... python语法的简洁优雅,模块的丰富,让有开发经验的人很容易上手,开发效率很高。然而python2和python3的诸多不兼容让人甚为烦恼。虽然python3已经推出多年,可生产环境还在运行着很多python2代码。经常需要在两个大版本之间切换。切换时遇到各种莫名其妙的问题,如pip升级后,默认就是安装在python3,python2的pip不起作用了。安装第三方类库时也时常被python的版本弄晕了。 这种版本混乱管理的问题,如果得不到解
首先第一个问题:Python版本的问题,Python 2.x 和Python 3.x 版本区别还是比较大的,版本多了不易管理。
2016.01.06 21:02* 字数 82 阅读 24416评论 11喜欢 12
一个传统的方案是每个版本的 Python 可执行文件使用不同的名字,如 python、python2.6、python3。
实际写代码前,环境的搭建有时需要花费好多时间,来回折腾。最让人感觉没有成就感的就是各种版本冲突,以前linux 安装多版本 Python 还要各种ln 链接,使用不同的别名,假设 Python 2.7 使用python ,那么Python 3.7 你就得使用python37,对于一些使用python安装脚本的软件来说,也是冲突不断。pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源. pyenv可以切换Python,设置默认shell默认版本,可以为某个特定目录设置特定版本等
pyenv是python版本的管理工具,可以设置全局的python版本 ,用户级别的操作,pyenv是通过系统去改环境变量实现python不同版本之间的切换。virtualenv是把一个包安装到目录里面来实现虚拟环境的,切换不同目录来实现虚拟环境之家的切换。
开发不同的项目的时候有可能产生安装不同python 版本的需求,那么如何管理多个python版本呢?有大神开发了工具 --pyenv 来解决多版本管理的问题。
Life is short, I use python pyenv用来管理多个版本的python在用户目录的安装和使用, 类似rbenv pyenv与pyenv-virtualenvwrapper: brew install python pyenv pyenv-virtualenvwrapper sudo pip install virtualenvwrapper #如果pip不存在 sudo easy_install pip >然后你需要把以下内容粘贴到~/.bash_profile文件中 #
1.使用pyenv时,出现pyenv global xxx无法成功切换版本的问题,执行如下命令即可
设置局部python版本,将Python版本写进当前目录下的.python-version 文件,这个版本号会覆盖全局的版本号,可以被PYENV_VERSION或者pyenv shell命令覆盖。
这几天在学习python,因为我学的是python3的语法,但是我ubuntu默认安装的是python2,我sqlmap需要的环境也是python2的,但是我需要python3的环境作为学习,这怎么办呢,经过查阅资料,学习,我发现了一个神器,python的版本管理工具:pyenv,他支持python多版本共存,并可以随时切换。且不会互相影响。
本人前端不太懂 Centos 上面的东西,这两天在搞阿里云的 Ecs 在上面安装 Python 环境,刚开始直接在官网下载了源码包编译安装了 Python3.7.4。但其实部署项目的时候大多会涉及到多项目以及 Python 的版本、环境不同,所以可以多版本 Python + 虚拟环境。
yum install -y gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel
从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon、mkvirtualenv等命令进行虚拟环境切换,很是愉快。
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u011054333/article/details/82891843
为了安装Anaconda科学计算环境,控制好python版本,今天上午总算折腾好了。
和在Windows安装Python的教程一样,安装python要配置环境pyenv,只是python要手工使用Linux命令安装,使用这种方法最好有一点Linux基础。由于笔者使用这种方法没有安装成功,就搬砖给大家看一下了
Python 的不同版本之间常常存在依赖关系和兼容性问题,为了方便开发人员在 不同项目中使用不同的版本 。
如上命令执行报错,解决办法如下: 使用缓存方式安装: 在~/.pyenv目录下,新建cache目录,放入下载好的版本文件。
我们都知道现在的 Python 有 Python2 和 Python3,但是由于各种乱七八糟的原因导致这俩哥们要长期共存,荣辱与共,尴尬的是这哥俩的差异还比较大,在很多时候我们可能要同时用到它们,所以就要在 Python2 和 Python3 之间来回的无缝切换。
使用pyenv可以在一个操作系统上使用多个python版本,自由切换,无比顺畅。它的使用不依赖于Python,是一个简单、独立的纯 shell 脚本工具。
对于老的安全信息系统,如果是用Python写的后端程序,基本就三大框架为主:Tornado、Flask、Django。
随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 virtualenv只能管理同一个 python 版本下第三方库的版本,但是对于这种需要在多个不同版本之间切换的 case,就只能使用 pyenv 了。 安装 运行下面的命令会自动下载安装 $ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
路径操作(如果有anaconda的路径在 ~/.bashrc 里面,记得把下面的路径置于其之前):
2、因系统底层依赖python,盲目升级可能会有影响系统运行,所以此时需要在系统中安装多个python,即实现python的多版本共存。Pyenv就是这样一个python版本管理器。
> cache目录,如果目录不存在,就自己创建,在~/.pyenv目录下,新建cache目录,放入下载好的 python 文件。
有时多个python版本还是希望用pyenv隔离下,避免不同版本库间的影响干扰。有时为了避免固有bug的影响,希望从零开始安装一个纯净的环境,pyenv就可以发挥作用了。
在Python实际部署过程中,经常碰到系统自带的Python版本是2.x的,而自己开发使用的是3.x版本。
Mac OS里面的Python默认为2.7版本,开发的原因需要安装Python3,又不能把2.7卸载掉,所以就需要多版本之间共存。 如果喜欢权威官方的介绍和指导,请移步:https://github.com/yyuu/pyenv 步骤如下: 1、安装pyenv $sudo brew install pyenv
CentOS6系统会自带一个较低版本的python,一般不使用系统自带的python版本,因为系统很多组件依赖于python比如yum,如果我们随意升级或者安装了些有冲突包可能会影响系统环境;我们需要再安装较高版本的python,而且在开发多个项目时,可能需要多个版本的Python,此时在进行Python版本切换时会比较麻烦,pyenv就提供了一种简单的方式。
利用pyenv 实现python 多版本切换 下载 curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 安装支持包 yum install zlib-devel openssl-devel sqlite-devel patch 增加配置:.bash_profile export PATH="/root/.pyenv/bin:$PATH" eval "$(pye
创建名为 my-310-python 的虚拟目录,并且其中加载 Python 3.10.0 。
virtualenv 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚拟环境,通过切换目录来实现不同包环境间的切换。
简单 易学 免费开源 高层语言 可移植性 解释性 面向对象 可扩展性 可嵌入性 丰富的库
最近正在重头梳理Python的基础知识,为了更好地使用Python进行开发,防止发生版本混乱(不同的第三方库有可能因为Python版本不兼容而报错),所以需要使用pyenv进行版本管理。 *** 通常来说,安装一个开源程序需要自己编译和下载相关依赖包,但是作者提供个一个简易的安装器,只需要一条命令即可搞定安装。
pyenv简介 由于Python的依赖是基于site的,这对于生产环境来说,是一种简单而正确的方式,然而,对于我们的开发环境,基于这样的管理方式,带来了可怕的第三方依赖管理的难题,virtualenv适时出现了,拯救了广大被依赖问题困扰的Python程序员。virtualenv无疑是成功的,它为每个项目创建一个虚拟环境,使得项目的依赖全部在一个虚拟且封闭的环境中,互不干扰。然而,这就够了吗?想象下面一种场景:你的新项目在Python 3.3下面开发,而你维护的旧项目,却工作在Python 2.7之上,为了完
这将是一篇比较短的文章。 我发文向来注重文章质量,营养不够的宁可不发,但是我相信很多人需要这篇文章。 之所以要去搞清楚这个问题,是我在把 vscode 的 inspector 设置为 pipenv 生成的虚拟环境是遇到了问题。2018-2月 vscode 添加了对 pipenv 的支持,检测到 Pipfile 以后,会将环境自动切换到当前项目的虚拟环境。但是我的咋就不行呢!我就开始折腾。这是一个比较漫长相信你们都不想经历的过程。希望你们搜到的第一篇文章就是这篇。相关关键字如下: vscode 对 pipenv 的支持, vscode 找不到 pipenv 创建的虚拟环境, vscode pipenv, pipenv vscode ...等等 希望能给你带来更多营养,我多说点 不知不觉,上面的内容可能要占本文一半以上了。。。 pyenv 和 pipenv 应该是目前主流的 python 版本控制和虚拟环境的工具了,下面内容都基于这两个。
yum install git epel-release python-pip
如果安装提示 curl: (35) SSL connect error ,是nss版本低的问题,更新它就可以了。需要配置一个有较新包的yum源。配置内容如下:
同一台机器上,如果要使用不同版本的Python编译器,直接安装Python的编译的话,环境变量和安装路径都难以兼顾,所以Python提供了pyenv这个工具对Python的运行环境进行管理;
1. 安装homebrew 官网 http://brew.sh/index_zh-cn.html 打开终端,在终端中粘贴如下脚本 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 测试是否安装成功 在终端中输入 brew -v 出现类似提示,即代表安装成功 Homebrew 0.9.5 (git revision 1021; last commit 2016-0
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
Centos7 自带 Python2 版本和 PIP2,所以我们只要直接安装 Python3即可:
由于Python的版本过多,且不同版本之间差异性较大。同时又因系统底层需要调用当前版本Python,所以不能随意变更当前系统Python版本。因此,在多版本共存的情况下,Python多环境管理工具非常重要,常见Python多环境管理工具有Pyenv和Virtualenv。
地址 https://github.com/yyuu/pyenv-installer
我们经常会遇到这类问题,往往没有注意环境隔离,导致Python项目包与包之间冲突。
pyenv 主要用来对 Python 解释器进行管理,可以管理系统上的多个版本的 Python 解释器。它的主要原理就是将新的解释器路径放在 PATH 环境变量的前面,这样新的 python 程序就“覆盖”了老的 python 程序,达到了切换解释器的目的。
Available versions: 2.1.3 2.2.3 2.3.7 ...
2、安装pyenv的插件pyenv-virtualenv来管理虚拟环境,安装完成后设置一下,
本文探讨了如何在不同的操作系统上安装Python环境并实现跨平台兼容。通过使用诸如virtualenv和pyenv等工具,开发者可以创建和管理多个Python环境,从而提高开发效率并确保代码在不同操作系统上的兼容性。
领取专属 10元无门槛券
手把手带您无忧上云