pyenv和virtualenv环境搭建

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

注意,pyenv不是必须的软件,可以不装,直接跳到virtualenv安装那一步进行。

pyenv作用:可以下载和安装各种python版本。
virtualenv作用:创建好版本后,通常会在虚拟环境中使用python(避免环境冲突)。就需要用virtualenv创建环境。

1.使用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

如果github下载不到。可以去我的gitee下
git clone https://gitee.com/wei378287521/pyenv.git  ~/.pyenv

我在镜像里面集成了离线包和virtualenv
Python-2.3.1
Python-2.7.7
Python-3.6.2
Python-3.9.4

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.9.4
使用如下命令安装

pyenv install 3.9.4

然后就会下载安装包

2.使用virtualenv环境的搭建

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

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

1.安装pyenv-virtualenv

方法一:直接下载源码,直接运行就行

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

方法二:使用pip安装

pip install virtualenv -i https://pypi.python.org/simple/

2.创建

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

如果没有安装pyenv,则

virtualenv ENV 在当前目录下创建名为ENV的虚拟环境(如果第三方包virtualenv安装在python3下面,此时创建的虚拟环境就是基于python3的)

virtualenv -p /usr/local/bin/python2.7 ENV2 参数 -p 指定python版本创建虚拟环境

virtualenv --system-site-packages ENV 参数 --system-site-packages 指定创建虚拟环境时继承系统三方库

3.激活虚拟环境

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

如果没有安装pyenv,则直接运行进入创建的虚拟环境目录,然后激活就行

cd ~/ENV 跳转到虚拟环境的文件夹

source bin/activate 激活虚拟环境

pip list 查看当前虚拟环境下所安装的第三方库

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 这个虚拟环境

3.补充

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

离线包下载地址

https://www.python.org/ftp/python/
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值