Python虚拟环境venv实战过程详解

 更新时间:2023年06月25日 16:09:08   作者:代码大师麦克劳瑞  
Python的虚拟环境可以帮助我们在同一台机器上,同时使用不同的Python版本和库,方便管理和开发,下面这篇文章主要给大家介绍了关于Python虚拟环境venv的相关资料,需要的朋友可以参考下

简介

Python 应用程序通常会使用不属于标准库的包和模块。应用程序有时需要特定版本的库,因为应用程序可能需要修复特定的错误,或者应用程序可能使用库接口的过时版本编写。

这意味着一个 Python 安装可能无法满足每个应用程序的要求。如果应用程序 A 需要特定模块的 1.0 版,而应用程序 B 需要 2.0 版,则要求发生冲突,安装 1.0 或 2.0 版将导致一个应用程序无法运行。

这个问题的解决方案是创建一个虚拟环境,一个自包含的目录树,其中包含特定版本的 Python 的 Python 安装,以及一些额外的包。

然后不同的应用程序可以使用不同的虚拟环境。为了解决前面的冲突需求示例,应用程序 A 可以拥有自己的安装了 1.0 版的虚拟环境,而应用程序 B 可以拥有另一个安装了 2.0 版的虚拟环境。如果应用程序 B 需要将库升级到版本 3.0,这不会影响应用程序 A 的环境。

同样,工程之间有时也需要环境隔离,不同的工程安装不同的依赖,有利于后续一系列生产操作,不易产生bug以外的环境冲突、问题。

因此,我们需要虚拟环境用来隔离以减少解决环境问题带来的额外开支。

虚拟环境实战

创建虚拟环境

官方给出的建议是最好在一开始就创建虚拟环境。在不同环境下,我们使用不同命令,即可创建出一个名为venv的虚拟环境。我们列出不同的命令,因为笔者电脑是mac,所以后续执行结果均以mac为标准,其他系统自行测试。

# windows
python -m venv venv
#linux/macos
python3 -m venv venv

创建成功,这时已经创建了一个名为venv的文件夹

我们进入文件夹内部查看一下结构,

激活虚拟环境

激活一下我们刚才创建的虚拟环境venv,在当前环境下shell中会显示已经激活的虚拟环境。

# windows
venv\Scripts\activate
# linux/macox
source venv/bin/activate

虚拟环境测试

虚拟环境中安装依赖包我们可以使用如下命令。

#windows/linux/macos
python -m pip install <package-name>
# 当你需要安装特定版本的依赖时 需要将 <package-name> 改写程<package-name>==指定版本号,例如
python -m pip install requests==2.6.0

安装一个requests库2.6.0版本,大家忽略一下网络问题。

可以通过python -m pip list 来查看已安装的依赖,我们看到requests库已经安装完毕。

停止虚拟环境

停止虚拟环境,很简单。只需要输入如下命令:

#windows/linux/macos
deactivate

小结

虚拟环境使用很简单,但是好处很多。具体使用细节大家可以自行挖掘,还有很多有趣且实用的命令。但是总得来说虚拟环境可以给我们带来很多好处。

1.避免系统污染

2.隔离依赖环境

3.回避依赖冲突

到此这篇关于Python虚拟环境venv实战的文章就介绍到这了,更多相关Python虚拟环境venv内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现的密码强度检测器示例

    Python实现的密码强度检测器示例

    这篇文章主要介绍了Python实现的密码强度检测器,结合实例形式分析了Python密码强度检测的原理与实现方法,涉及Python字符串运算与转换、判断等相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Python Flask的request对象使用详解

    Python Flask的request对象使用详解

    本文介绍Flask request对象,一个完整的HTTP请求,包括客户端向服务端发送的Request请求和服务器端发送Response响应.为了能方便访问获取请求及响应报文信息,Flask框架提供了一些内建对象,下面就来说一下Flask针对请求提供内建对象reques,需要的朋友可以参考一下
    2023-02-02
  • Python实现五子棋人机对战 和人人对战

    Python实现五子棋人机对战 和人人对战

    这篇文章主要介绍了Python实现五子棋人机对战 和人人对战,通过定义黑白子,落子位置以及获胜规则展开详细内容,需要的小伙伴可以参考一下
    2022-05-05
  • 简单了解Python变量作用域正确使用方法

    简单了解Python变量作用域正确使用方法

    这篇文章主要介绍了简单了解Python变量作用域正确使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python中读取txt文件时split()函数的妙用

    python中读取txt文件时split()函数的妙用

    这篇文章主要介绍了python中读取txt文件时split()函数的妙用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Tensorflow中的dropout的使用方法

    Tensorflow中的dropout的使用方法

    这篇文章主要介绍了Tensorflow中的dropout的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Django如何创作一个简单的最小程序

    Django如何创作一个简单的最小程序

    这篇文章主要介绍了Django如何创作一个简单的最小程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • python如何将自己的包上传到PyPi并可通过pip安装的方法步骤

    python如何将自己的包上传到PyPi并可通过pip安装的方法步骤

    本文主要介绍了python如何将自己的包上传到PyPi并可通过pip安装的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Flask缓存静态文件的具体方法

    Flask缓存静态文件的具体方法

    在本篇文章中小编给大家整理的是一篇关于Flask缓存静态文件的具体方法,有需要的朋友们可以参考下。
    2020-08-08
  • python实现requests发送/上传多个文件的示例

    python实现requests发送/上传多个文件的示例

    今天小编就为大家分享一篇python实现requests发送/上传多个文件的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论