pyenv和virtualenv环境搭建

2022-09-19 13:49:40

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

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

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

1.使用PYENV创建环境

安装pyenv

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

sudoapt-getinstall -y build-essential libssl-dev zlib1g-dev libbz2-dev\
libreadline-dev libsqlite3-devwgetcurl llvm libncurses5-dev libncursesw5-dev\
xz-utils tk-dev libffi-dev liblzma-dev python-opensslgit

在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'>> ~/.bashrcecho'export PYENV_ROOT=~/.pyenv'>> ~/.bashrcecho'eval "$(pyenv init -)"'>> ~/.bashrc

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

4.激活环境变量配置

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

5.常用命令如下

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

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

pyenvinstall3.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 virtualenv3.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 跳转到虚拟环境的文件夹

sourcebin/activate 激活虚拟环境

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

deactivate 退出虚拟环境

其他操作。

# 自动激活# 使用pyenv local 虚拟环境名# 会把`虚拟环境名`写入当前目录的.python-version文件中# 关闭自动激活 -> pyenv local --unset# 启动自动激活 -> pyenv local env-3.6.4
pyenvlocal 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目录中找这个包来安装了

pyenvinstall3.6.2

离线包下载地址

https://www.python.org/ftp/python/
  • 作者:思途积跬
  • 原文链接:https://blog.csdn.net/zhu378287521/article/details/106342954
    更新时间:2022-09-19 13:49:40