网站首页 > 资源文章 正文
我们从事的项目很可能有许多需要安装的依赖项。这些依赖关系促进了项目中的许多任务。然而尤其是在处理多个项目时,我们需要很小心。
就像任何其他技术一样,软件包或编程语言也在不断改进。因此正在推出新的版本。
不同的项目可能需要不同版本的包或软件。例如,我们可能有一个项目需要Python2.7,另一个项目需要Python3.6。随着项目和依赖项数量的增加,很难跟踪和处理这些差异。
克服这个问题的一种方法是使用虚拟环境。它们可以被视为软件包的边界框。我们可以在虚拟环境中开发一个项目,并安装特定于该项目的所有依赖项。我们在虚拟环境中拥有的东西不受机器全局范围变化的影响。
Python有许多虚拟环境工具,如pipenv、virtualenv、venv等。在本文中,我们将讨论一些使用virtualenv和pipenv的示例,以熟悉虚拟环境的概念及其工作方式。
让我们从virtualenv开始。首先使用python包安装程序(pip)从终端安装它。
nbsp;pip install virtualenv
创建一个示例项目文件作为工作目录。
nbsp;mkdir demoproject
nbsp;cd demoproject
现在在demoproject目录中。我们将使用以下命令创建一个虚拟环境。
nbsp;virtualenv venv_demo
它被创造出来了。我们可以运行ls命令来查看当前工作目录中的文件。
nbsp;ls
venv_demo
下一步是激活虚拟环境。
nbsp;source venv_demo/bin/activate
一旦虚拟环境被激活,其名称将显示在终端中,如下所示:
现在可以安装软件包了。
nbsp;python -m pip install pandas
我们现在在虚拟环境中安装了pandas。freeze命令显示已安装软件包的列表。
nbsp;python -m pip freeze
numpy==1.19.4
pandas==1.1.5
python-dateutil==2.8.1
pytz==2020.5
six==1.15.0
NumPy也被安装了,因为它是pandas的依赖。pandas的安装版本是1.1.5。我们可以在安装软件包时指定所需的版本。
nbsp;python -m pip install pandas==1.0.5
如果你只想检查特定软件包的已安装版本,请将freeze命令与grep一起使用:
nbsp;pip freeze | grep pandas
pandas==1.0.5
我们还可以安装保存在文本文件中的几个软件包。这比一个接一个地安装依赖项要好,尤其是当有多个依赖项时。
nbsp;python -m pip install -r requirements.txt
为了退出虚拟环境,我们使用deactivate命令。
nbsp;deactivate
我们将发现的下一个工具是pipenv,它可以使用pip安装:
nbsp;pip install pipenv
使用pipenv创建一个新的虚拟环境。
nbsp;pipenv install --python=/usr/bin/python3.6
Pipenv允许在创建虚拟环境时安装依赖项。例如,我可以在上面的命令末尾添加pandas,这样就可以创建安装了pandas的虚拟环境。
运行shell命令来激活虚拟环境。
nbsp;pipenv shell
我们现在处于虚拟环境中。也给这个安装pandas吧。
nbsp;pipenv install pandas
graph命令显示已安装软件包的详细概述。
nbsp;pipenv graph
pandas==1.1.5
- numpy [required: >=1.15.4, installed: 1.19.4]
- python-dateutil [required: >=2.7.3, installed: 2.8.1]
- six [required: >=1.5, installed: 1.15.0]
- pytz [required: >=2017.2, installed: 2020.5]
我们可以使用uninstall命令卸载虚拟环境中的特定包或所有包。
nbsp;pipenv uninstall pandas
以下命令将卸载所有包。
nbsp;pipenv uninstall -all
键入“exit”命令退出虚拟环境。
结论
虚拟环境是同时管理多个项目的好工具。有许多软件包和库可以很快更新。因此,试图手动更新效率不高。
本文介绍的内容可以看作是Python虚拟环境的实用介绍。当然,在理论和实践上还有很多东西要学。
virtualenv(https://virtualenv.pypa.io/en/latest/)和pipenv(https://github.com/pypa/pipenv)的官方文档提供了关于这些工具的更详细的概述。
- 上一篇: TS学习笔记十:装饰器及三斜线指令
- 下一篇: 《神奇的VBA》编程:禁止修改Excel工作表名称
猜你喜欢
- 2024-10-19 Flask框架学习之环境配置(flask框架安装与配置)
- 2024-10-19 《神奇的VBA》编程:禁止修改Excel工作表名称
- 2024-10-19 TS学习笔记十:装饰器及三斜线指令
- 2024-10-19 「NS」关于switch使用中会出现的一些疑难问题的解答
- 2024-10-19 「博文连载」ARM GIC(二)中断术语
- 2024-10-19 学习VBA,报表做到飞 第五章 事件篇 5.8 Worksheet_Deactivate事件
- 2024-10-19 Linux 中如何启用和禁用网卡(linux禁用无线网卡)
- 2024-10-19 Excel-VBA对象、属性、方法和事件(5)
- 2024-10-19 Excel-VBA对象、属性、方法和事件(4)
- 2024-10-19 软件包与环境管理神器之conda(软件环境指什么)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)