加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

什么是虚拟环境?

发布时间:2023-07-05 13:14:02 所属栏目:教程 来源:
导读:在我们第一次安装好 Python 后,我们就有了一个全局的 Python 环境, 也称为系统环境。使用虚拟环境工具在全局环境的基础上可以创建多个相互独立、互不影响的虚拟环境。这些虚拟环境本质上来说就是相互独立的文件夹
在我们第一次安装好 Python  后,我们就有了一个全局的 Python  环境, 也称为系统环境。使用虚拟环境工具在全局环境的基础上可以创建多个相互独立、互不影响的虚拟环境。这些虚拟环境本质上来说就是相互独立的文件夹,里面包含了 Python  解释器和相关依赖的模块。

为什么要使用虚拟环境?

在 Python 开发,特别是 Python Web 项目开发中,我们会使用大量的第三方模块。有时候开发中需要特定版本的模块。如果本地只有一个项目,我们直接用 pip install 安装对应版本的模块即可,但是如果本地有多个项目,每个项目中可能会有模块冲突,或者 Python 版本的冲突,该如何解决这些问题呢?这个时候虚拟环境就可以派上用场了。

针对每个 Python 项目,我们可以指定一个虚拟环境,在这个虚拟环境中,我们准备好相应版本的 Python 解释器,使用 pip 安装项目依赖的第三方模块。这样每个项目都有自己的环境和对应安装好的第三方模块。每个项目的环境都互不干扰。当我们需要开发或者启动某个项目时,使用命令进入对应的虚拟环境即可。这样可以非常有效的解决上述多个项目之间包冲突的问题。

使用 Pycharm 进行 Python 项目开发时,虚拟环境已经成了标配。Pycharm 在创建 Python 项目时,会自动创建好相应的虚拟环境,并默认使用虚拟环境的 Python 解释器。当然我们也可以自行选择,但这说明了虚拟环境在 Python 开发中越来越重要。

Python 虚拟环境管理工具

virtualenv [虚拟环境的名称]:在当前目录下创建虚拟环境,加上 -p 选项可以指定 python 解释器路径,不然会默认使用全局环境的 python 解释器;

激活和退出虚拟环境:

cd [虚拟环境名称]: 进入虚拟环境目录;

source bin/activate:激活虚拟环境;

deactivate: 退出虚拟环境。

在真正项目部署上线的时候,我们使用 pip freeze > requirements.txt 命令将项目所依赖的 python 模块保存到 requirements.txt 文件中,然后在线上环境重新安装并激活新的虚拟环境,最后使用 pip install -r requirements.txt 即可完成虚拟环境的迁移。

pyenv

纯 pyenv 是可以看做一个 Python  版本管理器,可以同时管理多个 Python  版本共存。 简单地说,pyenv 可以根据需求使用户在系统里安装和管理多个 Python  版本。它的基本功能如下:

配置当前用户的 Python  的版本;

配置当前 shell 的 python 版本;

配置某个项目(目录及子目录)的 Python  版本;

配置多个虚拟环境。

注意:pyenv 的工作原理就是利用系统环境变量 PATH 的优先级,劫持 Python  的命令到 pyenv 上,根据用户所在的环境或目录,使用不同版本的 Python 。

pyenv 的安装、更新和卸载

安装:  在 Linux 系统上安装 pyenv 的方式非常简单,由官方提供的安装 bash 脚本,也可以直接下载源码即可。具体操作如下:

# 安装git$ yum install git -y
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv# 安装 pyenv-virtualenv$ git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ cat ~/.bashrc...# 在~/.bashrc最后加上如下3行export PATH=~/.pyenv/bin:$PATHeval $(pyenv init -)eval $(pyenv virtualenv-init -)# 使配置生效$ source ~/.bashrc# 查看pyenv的版本$ pyenv version

更新:  因为是使用 git 安装的 pyenv,所以更新只需要继续用 git 拉最新的代码即可。

更新 pyenv 步骤如下:

cd ~/.pyenv 或者 cd $(pyenv root)git pull
卸载:  由于 pyenv 把一切都放在~/.pyenv 下了,所以卸载很方便,两个步骤就行了:

删除 ~/.bashrc 中添加的环境变量;

删除 ~/.pyenv 目录及其下面所有文件。

rm -rf ~/.pyenv` 或者 `rm -rf $(pyenv root)
Tips:pyenv 并不支持 Windows,因为作者大大不想浪费时间去兼容 Windows 平台。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章