zoukankan      html  css  js  c++  java
  • 使用pyenv在系统中安装多个版本的python

    pyenv的安装与使用

    如果没有安装git,首先要安装git

    apt-get install git

    安装完成后,使用自动安装程序提供的单行程进行安装:

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

    使用以下命令将环境变量添加到系统中

    cd
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
    source ~/.bashrc
    

     此时就完成安装了,输入指令

    pyenv version
    

     可以查看是否安装成功。

    通常你只会安装一个版本的python,即系统版本。这就是上述命令中显示的内容。pyenv现在允许你扩展这个版本。这里系统安装的python版本可以先用python -V查看。

    这是系统安装的默认的python版本,现在可以用pyenv install -list命令查看可安装的python版本.

     这里安装版本3.4.0(安装过程比较长,可以在最后加上-v来查看编译状况,以免以为卡住了)

    pyenv install 3.4.0
    

      该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译安装工作。编译过程依赖一些其他的库文件,若库文件不能满足,则编译错误,需要重新下载、编译。。。(常见编译问题解决方法:https://github.com/yyuu/pyenv/wiki/Common-build-problems)

    这里有个错误:

    ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
    

      错误提示缺乏OpenSSL库(因为Python3.4.1这个版本修复了之前的Heart Bleed那个漏洞,所以OpenSSL的版本和之前的版本不同,需要重新安装最新版本的OpenSSL,这是我估计的,因为在Python的官方主页上面看到Python3.4.1这个版本修复了HeartBleed漏洞),安装即可。

    这里还有几个警告,是因为没有安装相应的依赖库,需要的依赖库有:

    • readline readline-devel readline-static
    • sqlite-devel    轻型的数据库
    • bzip2-devel bzip2-libs数据压缩器
      运行以下指令安装需要的基础库
    apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm

      然后重新执行指令可得到如下结果:

    可以看到报错和警告都完成了。

    再次执行pyenv version可以看到有两个文件夹,多了一个3.4.0,两个版本分别为系统默认版本和我们下载的版本。

    如果我们要用python3.4作为我们的全局工具,可以通过指令

    pyenv global 3.4.0
    

      来进行设置。

     

    可以看到当前的python已经被设置为了python 3.4.0的版本。

      当然,我们也可以用pyenv来定义项目特定的或本地的Python版本,下面是一个示例

    这个示例,创建了一个pyenv_test的文件夹,并通过指令pyenv local 3.4.0将文件夹内的python版本设置为了3.4.0,而全局的版本并没有变。

    使用pyenv创建虚拟环境virtualenv

       对于使用过virtualenv的人来说,本地Python的想法可能看起来很熟悉。事实上,从pyenv创建的本地Python几乎就像一个Python虚拟环境。

      主要区别在于:pyenv每次创建新的pyenv版本时都会复制整个Python安装。但是virtualenv使用符号链接来减小virtualenv的大小。

      如果通过pyenv修改你的python版本后,虚拟环境再也无法运作,pyenv提供了一个插件:pyenv-virtualenv。这个插件为pyenv添加了完整的virtualenv功能:

    插件的安装如下:

    git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
    source ~/.bashrc

    下面为一个使用pyenv创建虚拟环境的相关示例:

    在这里,我使用Python 3.4创建了virtualenv,下面可以是

    参考资料

    pyenv Tutorial

    Pyenv 安装部署

    使用 pyenv 可以在一个系统中安装多个python版本

    在Ubuntu上安装pyenv

    拓展资料

    Linux 下GNU Readline库函数安装用于实现shell内嵌补全

    SQLite

    Ubuntu 12.04下安装 SQLite及其使用方法

    BZIP

    lighttpd及相关依赖库pcre/bzip2在ubuntu下的安装

     

  • 相关阅读:
    一步步介绍如何给项目添加单元测试
    日期格式化在移动端的问题
    使用VW时,图片的问题
    转:vw适配中使用伪类选择器遇到的问题
    ES6模块的import和export用法总结
    转:如何在Vue项目中使用vw实现移动端适配
    PhpStrom添加调试功能
    小程序商城笔记
    使用TortoiseGit对android studio工程进行代码版本控制
    Android Studio 常见异常解决办法
  • 原文地址:https://www.cnblogs.com/noticeable/p/8947232.html
Copyright © 2011-2022 走看看