pyenv和virtualenv环境搭建

在生产环境或者在开发过程中,一般存在多个python版本共存的局面。而直接使用python安装包安装会造成新版本覆盖旧版本的情况。为了方便管理这些python版本。pyenv就是非常好的工具。

安装pyenv

1.先安装pyenv的运行环境。

sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

在git中有对不同运行环境安装的说明,链接在这里

2.下载pyenv

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

3.添加pyenv到环境变量
将PYENV_ROOT和pyenv init加入bash的/.bashrc(或zsh的/.zshrc)

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

这一步也可以用vim直接修改。

4.激活环境变量配置

source ~/.bashrc(或zsh的`~/.zshrc`

5.常用命令如下

pyenv install --list # 列出可安装版本
pyenv install <version> # 安装对应版本
pyenv install -v <version> # 安装对应版本,若发生错误,可以显示详细的错误信息
pyenv versions # 显示当前使用的python版本
pyenv which python # 显示当前python安装路径
pyenv global <version> # 设置默认Python版本
pyenv local <version> # 当前路径创建一个.python-version, 以后进入这个目录自动切换为该版本
pyenv shell <version> # 当前shell的session中启用某版本,优先级高于global 及 local

我们先用pyenv install --list , 列出可安装版本,比如我要安装3.7.0
使用如下命令安装

pyenv install 3.7.0

然后就会下载安装包

virtualenv环境的搭建

在python开发中,不同的项目会引入不同的库和配置文件,为了避免这些项目的配置互相影响。需要为每一个项目单独启动一个virtualenv虚拟环境。

重点说明:pyenv-virtualenv和virtualenv是功能相同,但是实体不同的两个软件。

安装pyenv-virtualenv

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

创建

pyenv virtualenv 3.7.0 env-3.7.0
创建的环境在pyenv目录里面,可以被需要的程序使用。类似模板

激活虚拟环境

pyenv activate env-3.7.0 # 激活 env-3.6.4 这个虚拟环境
pyenv deactivate # 停用当前的虚拟环境

其他操作。

# 自动激活
# 使用pyenv local 虚拟环境名
# 会把`虚拟环境名`写入当前目录的.python-version文件中
# 关闭自动激活 -> pyenv local --unset
# 启动自动激活 -> pyenv local env-3.6.4
pyenv local env-3.6.4

pyenv uninstall env-3.6.4 # 删除 env-3.6.4 这个虚拟环境

pyenv离线安装python程序

pyenv安装python版本的时候,常常会因为网络问题而失败,因此需要有一种离线安装的方式才行。
1.创建cache目录,这个目录是要手动创建的

mkdir ~/.pyenv/cache

2.手动下载安装的版本的python包,如pyton3.6.2版本

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

3.再次运行安装就可以从cache目录中找这个包来安装了

pyenv install 3.6.2

你可能感兴趣的:(python)