zoukankan      html  css  js  c++  java
  • Ubuntu中python多版本管理工具-pyenv

    ubuntu系统版本:16.04

    # lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 16.04.3 LTS
    Release: 16.04
    Codename: xenial

    系统自带python版本:2.7.12

    # python -V
    Python 2.7.12

    如果想要在本地自行安装3.x的版本,并且与2.x版本共存,此时我们可以通过pyenv工具来管理不同的python版本。

    1. 安装pyenv

    # curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

    本地要先安装git,如果本地没有git,安装会失败,并给出相关提示。

    # apt-get update

    # apt-get install git

    git安装结束后,再进行安装pyenv即可。

    2. 修改~/.bashrc文件

    安装pyenv结束后,vim修改~/.bashrc文件,增加如下语句:

    export PYENV_ROOT="$HOME/.pyenv"

    export PATH="$PYENV_ROOT/bin:$PATH"

    eval "$(pyenv init -)"

    重启终端

    3. 安装python

    > 查看可以安装的python版本

    # pyenv install --list

    2.7.14 # Python 2 最新版本

    ......

    3.6.4 # Python 3 最新版本

    ......

    anaconda2-4.1.0   # 支持 Python 2.6 和 2.7

    anaconda3-4.1.0 # 支持 Python 3.3 和 3.4

    ......

    2.7.14和3.6.4,这种只有版本号的是python官方版本,其他的如,anaconda2-4.1.0属于衍生版或者发行版

    > 安装python的依赖包

    在 CentOS/RHEL/Fedora 下:

    yum install readline readline-devel readline-static
    yum install openssl openssl-devel openssl-static
    yum install sqlite-devel
    yum install bzip2-devel bzip2-libs

    在 Ubuntu下:

    apt-get update
    apt-get install make build-essential libssl-dev zlib1g-dev
    apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
    apt-get install llvm libncurses5-dev libncursesw5-dev

    > 安装指定版本

    # pyenv install 3.6.4

    > 查看当前已经安装的python版本

    # pyenv versions
    * system (set by /root/.python-version)
    3.6.4

    其中“*”号后面的版本就是系统当前运行的版本

    >设置全局的python版本

    # pyenv global 3.6.4

    # pyenv versions

    3.6.4

    > 临时改变系统运行的python版本

    # pyenv local  xxxx

    or

    # pyenv shell xxxx

    > pyenv的其他功能

    pyenv uninstall xxxx     //卸载某个版本

    pyenv update               //更新pyenv及其插件

  • 相关阅读:
    输出宽字符数组 C++
    python并发编程之多线程2------------死锁与递归锁,信号量等
    python并发编程之多线程1
    初始线程(相关理论)
    python并发编程之多进程2-------------数据共享及进程池和回调函数
    python并发编程之多进程1-----------互斥锁与进程间的通信
    Cpython支持的进程与线程
    进程理论基础
    函数嵌套复习
    python中if __name__ == '__main__'的说明
  • 原文地址:https://www.cnblogs.com/studyddup0212/p/8473216.html
Copyright © 2011-2022 走看看