虚拟环境管理

news2024/11/17 13:46:58

虚拟环境 

在使用 Python 时我们一般使用“pip install 第三方包名”来安装第三方包,但是由于pip的特性,系统只能安装每个包的一个版本。而在实际开发中,可能同时开发多个项目,如:上图有三个项目;每个项目需要不同版本的包;此时可以通过虚拟环境来进行管理。 

虚拟环境介绍

虚拟环境就是虚拟出来的一个隔离的Python环境,每个项目都可以有自己的虚拟环境,用pip安装各自的第三方包,不同项目之间也不会存在冲突。

虚拟环境安装

以Windows电脑为例,按住win+R键,会弹出来运行提示框,在此输入 cmd,按确定打开(也可以用其他方式打开命令提示符,如:直接点击命令提示符)

打开后输入下面代码并按回车

pip install virtualenv

如果安装过程中出错,则可以尝试切换源重新下载,代码如下:

pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/

下图并非安装过程图(因为我已经安装了,此时弹出提示询问我是否更新;若已经安装可以忽略) 

接着打开D盘,在其中新建一个自己能看懂的表示虚拟环境的文件夹,如此处我命名为pythonVirtualEnvironment

建立好文件夹点击上方路径输入cmd并按回车(此方法可以快速到达命令提示符想要到的位置)

 打开后出现如下画面(可以看到此时路径已经是我们安装的位置),输入下面代码

virtualenv 项目名

项目名可以任取,此处我取项目名为“tank_env” 

按回车后即可创建虚拟环境

 此时打开目录可以看到已经新建了项目“tank_env”

接着可以打开目录查看里面的文件

lib为安装第三方包存储的位置,Scipts中包含激活虚拟环境、退出虚拟环境、pip等文件,因此想要激活虚拟环境必须先切换到Scripts文件夹中(可以用之前的方法,此处我直接用doc命令进入)

 输入“activate”,可以看到此时已经成功激活进入项目中

输入 pip list 可以看到目前拥有的相关版本

输入 pip install pymysql 测试安装(可以从下图看到已经安装成功)

其他相关操作 

删除虚拟环境直接删除对应的文件夹即可

切换虚拟环境可以用doc命令切换到对应的虚拟环境中,然后输入activate即可

退出虚拟环境命令:deactivate

pycharm使用虚拟环境

在创建项目时创建虚拟环境并使用

 打开pycharm(此处我已经打开项目),点击左上角file-New Project

输入新项目的名称(在Name对应表单项,选择建立项目的位置-Location,这两个可以默认),然后点击 Custom environment,在点击 Generate new,选择对应python解释器版本,然后选择项目位置即可(可以看到项目位置默认会在 .venv目录下,即默认会在根目录下),然后点击Create即可。

使用已经存在的虚拟环境 

注意:若系统没有识别虚拟环境,需要自己手动指定虚拟环境的位置。

此时可以点击file-Settings-Project:项目名(根据自己的项目名)-Python Interpreter

可以看到次数下面展示了我们项目中已有的第三方库,上面Python Interpreter 为本项目使用的解释器,首先点击下拉小三角,可以看到所有的python环境;若系统未识别,可以点击Add Interpreter-Add Local Interpreter 即可添加虚拟环境

选择Virtualenv Envi...,选择 new为新建虚拟环境,选择Existing为使用已经存在的虚拟环境。

点击右边“三个点”(下图)手动指定虚拟环境位置 

此处我以刚才新建的虚拟环境为例,找到Scripts下的pytheon.exe点击OK即可,后面也是一直点确定即可。

VSCode使用虚拟环境

打开VS Code点击Ctrl+shift键+A打开命令面板输入 Select Interpreter 即可查看当前解释器

对于以后项目比较多的情况,使用这种方式比较慢,可以点击左下角小齿轮,再点击设置

在搜索框输入 python venv Path

在下面表单项中输入虚拟环境的路径,我的是在D:\creation\PythonStudy\pythonVirtualEnvironment,然后点击上方 × 关闭设置,然后Ctrl+shift键+A打开命令面板输入 Select Interpreter即可看到此时已经成功识别

 若无效,则重启一下VS Code即可

虚拟环境测试

可以切换到虚拟环境进行测试,新建一个test.py文件,输入 print("Hello VS Code"),右键-运行-在终端窗口运行,可以看到运行成功。

若出现错误“无法加载文件...因为在此系统上禁止运行脚本”时,可以在VS Code终端窗口命令行运行 ser-ExcutionPolicy Remotesigned,若仍然显示权限不足错误,可以在命令提示符右键-以管理员身份打开运行 ser-ExcutionPolicy Remotesigned,然后输入 Y 并回车即可。再重新打开 VS Code运行即可。

虚拟环境管理工具

鉴于 virtualenv 对虚拟环境管理时要加很多命令,切换盘符等,相对比较麻烦,可以采用 virtualenvwrapper 来管理,这样更方便。virtualenvwrapper 提供了一系列命令使得管理虚拟环境变得很便利,它会把所有虚拟环境都放在一个地方。

安装virtualenvwrapper

在命令提示符处右键-以管理员身份运行,输入下面代码(以Windows为例)

pip install virtualenvwrapper-win

可以看到此时已经安装完毕。 

注意: 默认虚拟环境会安装到用户的家目录,因此设置 WORKON_HOME 到环境变量中可以解决。

首先负责虚拟环境的安装目录(我的是在D:\creation\PythonStudy\pythonVirtualEnvironment),然后找到电脑上的此电脑图标,右键—单击“属性”打开后,点击“高级系统设置”,点击“环境变量”,在用户变量下方点击新建

变量名输入“WORKON_HOME”,变量值为刚才复制的路径

全部点击确定即可。此时再重新打开命令提示符,此时不需要切换盘符,在任意位置输入“mkvirtualenv CSDN_env” (此处以CSDN_env为例),然后按回车键即可,新建CSDN_env虚拟环境(如下图)。

常用命令

创建虚拟环境

mkvirtualenv 虚拟环境名

激活虚拟环境

workon 虚拟环境名

 退出虚拟环境

deactivate

 删除虚拟环境

rmvirtualenv 虚拟环境名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1884510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【笔记】通过shell脚本自动部署项目(未完成)

然后将gitee仓库上的代码克隆至linux上 如果不知道gitee仓库怎么上传代码移步【笔记】如何在gitee仓库上传idea代码-CSDN博客 写到一半不想写了自己去复习p138-139吧

【QT】输入类控件

目录 Line Edit 核心属性 核心信号 正则表达式 示例:使用正则表达式验证输入框内容 示例:切换输入框密码模式下的显示状态 Text Edit 核心属性 核心信号 示例:获取多行输入框的内容同步显示到label 示例:获取文本的选…

微信小程序template模板引入

如图:temp.wxml是template引入的模板 在two.wxml中: import:是引入temp的页面让template中的内容显示出来在two页面中; include:是显示temp页面内容不在template包裹,template以外的view标签文字和不在view的文字让…

独家首发 | Matlab实现SVM-Transformer多变量回归预测

独家首发 | Matlab实现SVM-Transformer多变量回归预测 目录 独家首发 | Matlab实现SVM-Transformer多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现SVM-Transformer多变量回归预测,SVM递归特征消除Transformer多输入单输出回归预测…

GOM引擎源码 完整可编译 带微端 附带基础附件

GOM引擎源码 完整可编译 带微端 附带基础附件 时间紧迫,无暇顾及,无意中得到即公布GameOfMir源码未测试,专业人事自行编译测试!非诚勿扰!源码下载:极速云

已解决org.omg.CORBA.portable.RemarshalException:在CORBA中需要重新编组的正确解决方法,亲测有效!!!

已解决org.omg.CORBA.portable.RemarshalException:在CORBA中需要重新编组的正确解决方法,亲测有效!!! 目录 问题分析 出现问题的场景 服务器端代码 客户端代码 报错原因 解决思路 解决方法 1. 检查网络连接 …

递归----计算P函数

注意运算中的符号不能少&#xff01;&#xff01;&#xff01;&#xff01; * 必须体现出&#xff01;&#xff01;&#xff01;&#xff01; #include <stdio.h>double P( int n, double x );int main() {int n;double x;scanf("%d %lf", &n, &x);pri…

MMM高可用性部署

MMM高可用性部署 MMM概述MMMMMM架构 MMM部署实验环境实验拓扑图 数据库安装时间同步搭建 MySQL 多主多从模式修改MySQL配置文件配置主主复制Master1Master2配置复制 配置主从复制 安装配置 MySQL-MMM安装 MySQL-MMM对 MySQL-MMM 进行配置修改代理配置文件修改监控配置文件授权代…

软件著作权申请:开发者的重要保障与助力

一、引言 随着信息技术的飞速发展&#xff0c;软件产业已成为推动经济增长的重要动力。然而&#xff0c;在软件开发过程中&#xff0c;保护创作者的权益、防止抄袭和侵权行为显得尤为重要。软件著作权作为保护软件开发者权益的重要法律工具&#xff0c;其申请和登记流程对于软…

typescript学习回顾(五)

今天来分享一下ts的泛型&#xff0c;最后来做一个练习 泛型 有时候&#xff0c;我们在书写某些函数的时候&#xff0c;会丢失一些类型信息&#xff0c;比如我下面有一个例子&#xff0c;我想提取一个数组的某个索引之前的所有数据 function getArraySomeData(newArr, n:numb…

AI系统:未来科技的驱动力

引言 人工智能&#xff08;Artificial Intelligence, AI&#xff09;是一门研究如何使计算机模拟、延伸和扩展人类智能的学科。自20世纪50年代起&#xff0c;人工智能作为一项科学研究领域开始兴起。早期的AI系统主要集中在简单的任务&#xff0c;如棋类游戏和数学证明。随着计…

NLP篇1

场景&#xff1a;假设给你一篇文章。 目标&#xff1a;说白了&#xff0c;就是数学的分类。但是如何实现分类呢。下面将逐步一 一 分析与拆解。先把目标定好了和整体框架定好了。而不是只见树木而不见森林。 情感分类&#xff08;好评、差评&#xff0c;中性&#xff09; 整体…

Windows 安装 Terraform

Windows 安装 Terraform 下载 Terraform 压缩文件安装 Terraform测试 Terraform 下载 Terraform 压缩文件 访问 https://developer.hashicorp.com/terraform/install&#xff0c;下载 Windows 版安装文件&#xff0c; 安装 Terraform 解压下载 zip 包&#xff0c;然后将解压的…

使用gitlab的CI/CD实现logseq笔记自动发布为单页应用

使用gitlab的CI/CD实现logseq笔记自动发布为单页应用 使用gitlab的CI/CD实现logseq笔记自动发布为单页应用如何实现将logseq的笔记发布成网站使用 logseq-publish-docker 实现手动发布使用gitlab的CI/CD实现自动发布过程中的问题及解决参考资料 使用gitlab的CI/CD实现logseq笔记…

2.IOC

IOC介绍 控制反转&#xff0c;把对象的创建和调用的过程&#xff0c;交给spring进行管理。 使用IOC目的&#xff1a;为了耦合度降低。 IOC底层原理 1&#xff09;xml解析 2&#xff09;工厂模式 3&#xff09;反射 IOC思想基于IOC容器完成&#xff0c;IOC容器底层就是对…

QT的编译过程

qmake -project 用于从源代码生成项目文件&#xff0c;qmake 用于从项目文件生成 Makefile&#xff0c;而 make 用于根据 Makefile 构建项目。 详细解释&#xff1a; qmake -project 这个命令用于从源代码目录生成一个初始的 Qt 项目文件&#xff08;.pro 文件&#xff09;。它…

使用deep修改前端框架中的样式

目录 1.deep的作用 2.使用方式 3.特别说明 scoped 的实现原理&#xff1a; !important 1.deep的作用 /deep/、::v-deep 和 :deep 都是用于穿透组件作用域的选择器。它们的主要目的是允许开发者在父组件中直接选择并样式化子组件内部的元素&#xff0c;即使这些元素被封装在…

工业除尘自动化中的Profibus转Modbus网关应用解析

一、背景 在工业生产过程中&#xff0c;除尘系统扮演着至关重要的角色&#xff0c;它不仅可以保护生产设备&#xff0c;延长设备寿命&#xff0c;还可以减少环境污染&#xff0c;提高生产效率。而Profibus转Modbus网关&#xff08;XD-MDPB100&#xff09;作为自动化领域中的关…

通俗易懂的chatgpg的原理简介

目录 一、深度学习与语言模型 二、ChatGPT训练三步走 三、情景学习与思维链 四、修改提示语优化结果 五、能力评估和注意问题 六.算法原理 简介&#xff1a; ChatGPT的人工智能原理主要基于深度学习技术&#xff0c;特别是大规模的预训练语言模型和Transformer结构。Cha…

YOLOv8的5种不同部署方式推理速度对比:Pytorch、ONNX、OpenVINO-FP32、OpenVINO-int8、TensorRT

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…