Site Overlay

linux安装Python 多版本共存pyenv及pyenv-virtualenv插件

安装

1. 安装依赖包

ubuntu16

sudo apt-get install curl git-core gcc make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libmysqlclient-dev

centos7

yum -y install git gcc make patch zlib-devel gdbm-devel openssl-devel sqlite-devel bzip2-devel readline-devel

2.安装pyenv###

安装(下面一条命令可以把pyenv和pyenv-virtualenv插件都装上):

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

设置环境变量:设置环境变量:

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

国内加速下载安装python

搜狐镜像源加速:http://mirrors.sohu.com/python/
下载需要的版本放到~/.pyenv/cache文件夹下面
然后执行 pyenv install 版本号 安装对应的python版本

wget http://mirrors.sohu.com/python/3.6.3/Python-3.6.3.tar.xz -P ~/.pyenv/cache/
pyenv install 3.6.3

pip 配置使用国内镜像

创建目录 mkdir ~/.pip
编辑 ~/.pip/pip.conf, 输入一下内容

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

注意

升级:可以用命令pyenv update
卸载:直接删除目录rm -rf ~/.pyenv,然后把~/.bash_profile环境变量配置中的三行删掉

需要使环境变量生效,
运行命令exec "$SHELL",如果还没有效果,就退出终端,重新打开。

使用

1. pyenv使用指南(OS X和Linux命令通用)

列出可安装版本

首先我们可以查看一下有哪些版本的python 可以安装

pyenv install --list

查看安装的python版本

pyenv versions查看系统的上安装的Python版本。 其中前面的*表示当前工作目录正在使用的版本,其中 的 system表示系统自带的 Python 版本:

$ pyenv versions
*system (set by /Users/yulongjun/.pyenv/version)

安装其他版本

pyenv install 安装其他版本的Python。例如安装3.5.1和3.4.4版本:

$ pyenv install 3.5.1
$ pyenv install 3.4.4
$ pyenv versions #可以看到3个版本
*system (set by /Users/yulongjun/.pyenv/version)
 3.4.4
3.5.1

设置全局的 python 版本

$ pyenv global anaconda3-4.1.0
$ pyenv versions
system
* anaconda3-4.1.0 (set by /home/seisman/.pyenv/version)

本地文件夹设置python版本

使用 pyenv local <version> 设置当前文件夹python版本。
示例:创建3.5

$ cd                   #到家目录
$ mkdir python35      #创建python35的工作目录
$ cd python35
$ pyenv local 3.5.1    #使当前工作目录使用python3.5.1版本
$ python -V            #查看一下当前目录用python的版本,确实是3.5.1
Python3.5.1
$ pip -V               #查看一下pip版本,是3.5的pip
pip 7.1.2 from /usr/local/var/pyenv/versions/3.5.1/lib/python3.5/site-packages (python 3.5)

示例:创建3.4

$ cd                   #回到家目录
$ mkdir python34     #创建python3.4的工作目录
$ cd python34
$ pyenv local 3.4      #使当前工作目录使用python3.4.4版本
$ python -V            #查看一下当前目录用python的版本,确实是3.5.1
Python 3.4.4
$ pip -V               #查看一下pip版本,是3.4的pip
pip 7.1.2 from /usr/local/var/pyenv/versions/3.4.4/lib/python3.4/site-packages (python 3.4)

其他版本的工作目录创建方法类似。

如果是用系统自带版本,用pyenv local system即可使当前工作目录使用系统自带的Pytho版本

pyenv 其他功能

pyenv uninstall 卸载某个版本
pyenv update 更新 pyenv 及其插件

2. pyenv-virtualenv使用指南

pyenv-virtualenv是用来创建一个干净的虚拟Python环境的命令,通常在创建干净的新项目时候使用。使用方法如下:

创建虚拟环境 pyenv virtualenv 版本号 虚拟环境名。

$ pyenv virtualenv 3.5.1 venv-3.5.1

使用虚拟环境

创建项目,让项目使用干净的Python3.5.1的虚拟环境:

$ mkdir myproject
$ cd myproject
$ pyenv local venv-3.5.1

pyenv-virtualenv: deactivate
pyenv-virtualenv: activate venv-3.5.1

此后,我们就会发现:只要我们进入myproject目录,就会自动激活virtualenv,退出myproject目录,就会关闭virtualenv。

如果要关闭自动激活,可以运行命令pyenv deactivate,要重新启用的话,运行pyenv activate 虚拟环境名。

Leave a Reply

Your email address will not be published. Required fields are marked *