【编程基础之Python】3、创建Python虚拟环境
【编程基础之Python】3、创建Python虚拟环境
- 创建Python虚拟环境
- 为什么需要虚拟环境
- Windows上的Anaconda创建虚拟环境
- conda 命令
- conda env 命令
- 创建虚拟环境
- 切换虚拟环境
- 验证虚拟环境
- Linux上的Anaconda创建虚拟环境
- 创建虚拟环境
- 切换虚拟环境
- 验证虚拟环境
- 总结
创建Python虚拟环境
为什么需要虚拟环境
根据实际开发需求,我们会不断的更新或卸载项目中依赖的Python类库,直接对我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,并且当我们同时开发多个项目的时候,可能每个项目依赖的同一个Python库的版本还不一样,就会造成版本冲突,管理相当混乱。而虚拟环境独立于真实环境存在,并且可以同时拥有多个虚拟环境,每个虚拟环境都可以安装不同的类库、不同版本的类库,对项目的依赖和版本的控制有着非常重要的作用。
Windows上的Anaconda创建虚拟环境
通过Windows的开始菜单,打开Anaconda Prompt(anaconda3)。可以看到命令提示符前面的(base)符号,说明当前是Anaconda的base虚拟环境。
通过命令:
conda env list
可以列出当前系统中拥有的虚拟环境。从响应结果知道,当前只有一个base环境,其目录就是anaconda的安装目录。
conda 命令
Anaconda提供的conda是一个用来管理和部署应用、环境和包的工具,通过输入conda直接回车可以打印出所有可用的命令以及说明信息。
(base) C:\Users\wux_labs>conda
usage: conda-script.py [-h] [-V] command ...conda is a tool for managing and deploying applications, environments and packages.Options:positional arguments:commandclean Remove unused packages and caches.compare Compare packages between conda environments.config Modify configuration values in .condarc. This is modeled after the git config command. Writes to the user .condarc file (C:\Users\wux_labs\.condarc) by default. Use the --show-sources flag to display all identified configuration locations on your computer.create Create a new conda environment from a list of specified packages.info Display information about current conda install.init Initialize conda for shell interaction.install Installs a list of packages into a specified conda environment.list List installed packages in a conda environment.package Low-level conda package utility. (EXPERIMENTAL)remove Remove a list of packages from a specified conda environment.rename Renames an existing environment.run Run an executable in a conda environment.search Search for packages and display associated information.The input is a MatchSpec, a query language for conda packages. See examples below.uninstall Alias for conda remove.update Updates conda packages to the latest compatible version.upgrade Alias for conda update.notices Retrieves latest channel notifications.optional arguments:-h, --help Show this help message and exit.-V, --version Show the conda version number and exit.conda commands available from other packages:buildcontent-trustconvertdebugdevelopenvindexinspectmetapackagepackrenderreposerverskeletontokenverify(base) C:\Users\wux_labs>
常用的命令有:
- clean,清理不需要使用的包和缓存
- compare,比较两个虚拟环境的包信息
- config,用来配置Anaconda的配置信息,默认配置在文件
.condarc
中。 修改后的配置在用户目录下的.condarc
文件中,比如C:\Users\wux_labs\.condarc
- create,基于一些特定的包创建一个虚拟环境
- info,显示当前Anaconda的安装信息
- init,初始化Anaconda的Shell配置
- install,在指定的虚拟环境中安装一些包
- list,列出虚拟环境中已经安装了的包
- remove,从一个虚拟环境中移除一些包
- rename,重命名一个已存在的虚拟环境
- run,在一个虚拟环境中运行可执行程序
- search,搜索包并显示相关信息
- uninstall ,
conda remove
的一个别名,从一个虚拟环境中移除一些包 - update,将Anaconda的包更新到兼容的最新版本
- upgrade,
conda update
的别名
同时,从其他包中还提供了一些其他的命令。
conda env 命令
用来管理系统中的虚拟环境。
conda env 命令的使用方法为:
usage: conda-env-script.py [-h] {create,export,list,remove,update,config} ...positional arguments:{create,export,list,remove,update,config}create Create an environment based on an environment definition file. If using an environment.yml file (the default), you can name the environment in the first line of the file with 'name:envname' or you can specify the environment name in the CLI command using the -n/--name argument. The name specified in the CLI will override the name specified in the environment.yml file. Unless you are in the directory containing the environment definition file, use -f to specify the file path of the environment definition file you want to use.export Export a given environmentlist List the Conda environmentsremove Remove an environmentupdate Update the current environment based on environment fileconfig Configure a conda environmentoptional arguments:-h, --help Show this help message and exit.
常用的有:
- create 创建虚拟环境
- list 列出已有的虚拟环境
- remove 移出虚拟环境
要创建一个新的虚拟环境,可以直接通过命令进行创建:
conda create --name env_name python=x.x
--name
可简写为-n
即:
conda create -n env_name python=x.x
创建虚拟环境
通过命令创建一个虚拟环境。
conda create -n PythonBasic python=3.9
输入y
确认需要安装的包,继续完成虚拟环境的创建。
虚拟环境创建完成后,再次通过命令查看当前系统中的虚拟环境信息,*
表示当前激活的虚拟环境,当前是base环境。
切换虚拟环境
虚拟环境创建完成后,可以通过以下命令激活虚拟环境:
conda activate PythonBasic
虚拟环境激活以后,命令提示符前面的环境符号会变成PythonBasic
。
并且通过命令可以看到当前激活的是PythonBasic环境。
如果要退出当前虚拟环境,可以使用命令:
conda deactivate
验证虚拟环境
通过命令conda list
或者pip list
可以查看当前虚拟环境中安装好的包。
两者的区别在于:
- conda list,会列出当前虚拟环境中安装的包,以及关联虚拟环境中安装的包
- pip list,仅会列出当前虚拟环境中安装的包
使用python命令进入Python解释器环境,编写代码执行验证。
print("Hello Python Basic")
Linux上的Anaconda创建虚拟环境
创建虚拟环境
在Linux系统上创建虚拟环境的命令与Windows系统上的命令一致。
conda create -n PythonBasic python=3.9
创建过程为:
(base) wux_labs@wux-labs-vm:~$ conda create -n PythonBasic python=3.9
Collecting package metadata (current_repodata.json): done
Solving environment: done==> WARNING: A newer version of conda exists. <==current version: 22.9.0latest version: 23.1.0Please update conda by running$ conda update -n base -c defaults conda## Package Plan ##environment location: /home/wux_labs/anaconda3/envs/PythonBasicadded / updated specs:- python=3.9The following packages will be downloaded:package | build---------------------------|-----------------ca-certificates-2023.01.10 | h06a4308_0 120 KBcertifi-2022.12.7 | py39h06a4308_0 150 KBlibffi-3.4.2 | h6a678d5_6 136 KBncurses-6.4 | h6a678d5_0 914 KBopenssl-1.1.1s | h7f8727e_0 3.6 MBpip-22.3.1 | py39h06a4308_0 2.7 MBpython-3.9.16 | h7a1cb2a_0 25.0 MBreadline-8.2 | h5eee18b_0 357 KBsetuptools-65.6.3 | py39h06a4308_0 1.1 MBsqlite-3.40.1 | h5082296_0 1.2 MBtzdata-2022g | h04d1e81_0 114 KBxz-5.2.10 | h5eee18b_1 429 KBzlib-1.2.13 | h5eee18b_0 103 KB------------------------------------------------------------Total: 35.9 MBThe following NEW packages will be INSTALLED:_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main None_openmp_mutex pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu Noneca-certificates pkgs/main/linux-64::ca-certificates-2023.01.10-h06a4308_0 Nonecertifi pkgs/main/linux-64::certifi-2022.12.7-py39h06a4308_0 Noneld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1 Nonelibffi pkgs/main/linux-64::libffi-3.4.2-h6a678d5_6 Nonelibgcc-ng pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 Nonelibgomp pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 Nonelibstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 Nonencurses pkgs/main/linux-64::ncurses-6.4-h6a678d5_0 Noneopenssl pkgs/main/linux-64::openssl-1.1.1s-h7f8727e_0 Nonepip pkgs/main/linux-64::pip-22.3.1-py39h06a4308_0 Nonepython pkgs/main/linux-64::python-3.9.16-h7a1cb2a_0 Nonereadline pkgs/main/linux-64::readline-8.2-h5eee18b_0 Nonesetuptools pkgs/main/linux-64::setuptools-65.6.3-py39h06a4308_0 Nonesqlite pkgs/main/linux-64::sqlite-3.40.1-h5082296_0 Nonetk pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0 Nonetzdata pkgs/main/noarch::tzdata-2022g-h04d1e81_0 Nonewheel pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0 Nonexz pkgs/main/linux-64::xz-5.2.10-h5eee18b_1 Nonezlib pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0 NoneProceed ([y]/n)? yDownloading and Extracting Packages
tzdata-2022g | 114 KB | ########################################################################################################### | 100%
readline-8.2 | 357 KB | ########################################################################################################### | 100%
pip-22.3.1 | 2.7 MB | ########################################################################################################### | 100%
python-3.9.16 | 25.0 MB | ########################################################################################################### | 100%
xz-5.2.10 | 429 KB | ########################################################################################################### | 100%
sqlite-3.40.1 | 1.2 MB | ########################################################################################################### | 100%
ncurses-6.4 | 914 KB | ########################################################################################################### | 100%
openssl-1.1.1s | 3.6 MB | ########################################################################################################### | 100%
libffi-3.4.2 | 136 KB | ########################################################################################################### | 100%
setuptools-65.6.3 | 1.1 MB | ########################################################################################################### | 100%
ca-certificates-2023 | 120 KB | ########################################################################################################### | 100%
zlib-1.2.13 | 103 KB | ########################################################################################################### | 100%
certifi-2022.12.7 | 150 KB | ########################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate PythonBasic
#
# To deactivate an active environment, use
#
# $ conda deactivateRetrieving notices: ...working... done
(base) wux_labs@wux-labs-vm:~$
创建完成后,通过命令可以查看当前虚拟环境列表。
切换虚拟环境
使用命令切换虚拟环境。
conda activate PythonBasic
验证虚拟环境
首先还是看看当前虚拟环境中安装的包。
conda list
pip list
由于操作系统不一样,在Linux系统上预安装的包与Windows操作系统上的包会有一些差异。
然后进入Python解释器环境,编写代码验证一下。
print("Hello Python Basic")
总结
Python的虚拟环境可以起到环境隔离的作用,当我们同时开发多个项目、需要使用同一个依赖库的不同版本时,虚拟环境非常有用。创建好虚拟环境后,就可以安装自己需要的包,开发项目了。
相关文章:
【编程基础之Python】3、创建Python虚拟环境
【编程基础之Python】3、创建Python虚拟环境创建Python虚拟环境为什么需要虚拟环境Windows上的Anaconda创建虚拟环境conda 命令conda env 命令创建虚拟环境切换虚拟环境验证虚拟环境Linux上的Anaconda创建虚拟环境创建虚拟环境切换虚拟环境验证虚拟环境总结创建Python虚拟环境 …...
kettle开发-Day36-循环驱动作业
前言:在日常数据处理时,我们通过变量传参来完成某个日期的数据转换。但可能因程序或者网络原因导致某个时间段的数据抽取失败。常见导致kettle作业失败的原因大概分为三大类,数据源异常、数据库异常、程序异常。因此面对这些异常时࿰…...
2023秋招 新凯来 算法工程师 面经分享
本专栏分享 计算机小伙伴秋招春招找工作的面试经验和面试的详情知识点 专栏首页:秋招算法类面经分享 主要分享计算机算法类在面试互联网公司时候一些真实的经验 一面 技术面 30分钟左右 1.主要是问项目和论文上的东西,问的不深,中间还介绍他们是做缺陷检测的,大概问了16分钟…...
Web3CN|Damus刷频背后,大众在期待什么样的去中心化社交?
刚过去的一周,许多人的朋友圈包括Twitter、Faceboo在内都在被一串公钥字母刷屏,其重要起因就是 Twitter 前首席执行官 Jack Dorsey 发推称,(2月1日)基于去中心化社交协议 Nostr 的社交产品 Damus 和 Amethyst 已分别在…...
Jenkins自动发布到WindowsServer,在WindowsServer执行的命令
echo off set apppoolname"6.usegitee" set websitename"6.usegitee" set webfolder"usegitee" echo 停止站点的应用程序池 C:\Windows\System32\inetsrv\appcmd.exe stop apppool %apppoolname% echo 停止站点 c:\Windows\System32\inetsrv\a…...
【Git学习】Git如何Clone带有Submodule的仓库?
文章目录一、问题描述二、解决问题三、参考链接四、解决问题4.1 下载主模块4.2 查看主模块的配置4.2 子模块的添加4.3 查看子模块的配置4.4 查看子模块的检出状态4.5 检出submodule4.6 再次查看.git/config4.7 重新打开Android Studio运行代码一、问题描述 在GitHub上下载了一…...
C语言进阶——通讯录模拟实现
🌇个人主页:_麦麦_ 📚今日名言:只有走在路上,才能摆脱局限,摆脱执着,让所有的选择,探寻,猜测,想象都生机勃勃。——余秋雨《文化苦旅》 目录 一、前言 二、正…...
【C#基础】C# 变量和常量的使用
序号系列文章1【C#基础】C# 程序通用结构总结2【C#基础】C# 程序基础语法解析3【C#基础】C# 数据类型总结文章目录前言一. 变量(variable)1,变量定义及初始化2,变量的类别3,接收输出变量二. 常量(constant&…...
nvm安装后出现‘node‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
出现这个问题多半是path地址不对。 打开系统环境变量。看看path里面有没有?没有的话,加上就行! 我的报错原因就是因为path里没有自动加上nvm的相关路径。 注意项: 1,在安装nvm之前,提前要把本机以前安装…...
张驰咨询:关于六西格玛,有一些常见的疑惑!
很多想要学习六西格玛的学员,经常会有这些困惑: 以前没有接触过六西格玛,需要什么基础吗?自学还是培训?哪些行业会用到六西格玛呢?学习六西格玛对以后的工作有哪些帮助?如何选择六西格玛培…...
【Vercel】教你部署imsyy/home个人主页
本篇博客教你如何部署一个自己的个人主页 项目地址:https://github.com/imsyy/home 本文首发于 慕雪的寒舍 1.fork仓库vercel部署 首先我们点击fork,将仓库复刻到自己的账户 随后进入vercel,点击dashboard-add new-project 选择你复刻的仓库…...
GeekChallenge
2.GeekChallenge 1.web 1.朋友的学妹 url:http://49.234.224.119:7413/ 右键点击查看源码,找到flagU1lDe0YxQF80c19oNExwZnVsbGxsbGx9 然后base64解码得到SYC{F1_4s_h4Lpfullllll} 2.EZwww url:http://47.100.46.169:3901/ 根据网站提示…...
Java文件IO
文章目录Java中的文件操作File常用构造方法方法文件内容的读写——数据流InputStreamFileInputStream利用Scanner进行字符读取OutputStreamPrintWriter按字符读取文件(FileReader)练习代码实例如何按字节进行数据读如何按字节进行数据写如何按字符进行数据读如何按字符进行数据…...
useSSL使用安全套接字协议(史上最全最详细)
useSSL使用安全套接字协议(史上最全最详细) SSL即为:Secure Sockets Layer 安全套接字协议。 useSSLfalse和useSSLtrue的区别: 在MySQL进行连接时: 如果MySQL的版本是5.7之后的版本必须要加上useSSLfalse,…...
面向对象复习(2)
面向对象(2) 对象与引用 java语言中除基本类型之外的变量都称之为引用类型 java中的对象时通过引用对其操作的 Car bm new Car(); 右边的new Car是以Car类为模板,调用无参构造函数,在堆空间中创建一个Car对象 左边的Car bm 在栈中创建了一个Car类型的引用变量,所谓Car的…...
python中使用numpy包的向量矩阵相乘
一直对np的线性运算不太清晰,正好上课讲到了,做一个笔记整个理解一下 1.向量和矩阵 在numpy中,一重方括号表示的是向量vector,vector没有行列的概念。二重方括号表示矩阵matrix,有行列。 代码显示如下: …...
ElasticSearch 学习(一)
目录一、Elasticsearch 简介二、Elasticsearch 发展史三、Elasticsearch 功能四、Elasticsearch 特点五、Elasticsearch 应用场景一、Elasticsearch 简介 Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据…...
【新】华为OD机试 - 交换字符(Python)| 刷完获取OD招聘渠道
交换字符 题目 给定一个字符串 S 变化规则: 交换字符串中任意两个不同位置的字符 M S 都是小写字符组成 1 <= S.length <= 1000 输入 一串小写字母组成的字符串 输出 按照要求变换得到最小字符串 示例一 输入 abcdef输出 abcdef示例二 输入 bcdefa输出 acde…...
手把手教你解决传说中的NPE空指针异常
1. 前言最近有好几个初学java的小伙伴,甚至是学习到了JavaWeb、框架阶段的小伙伴也跑来问壹哥,该如何解决Java中的NullPointerException空指针异常。因为NPE是初学者特别常见的典型异常,所以壹哥在这里专门写一篇文章,来手把手地教…...
【pytorch安装】conda安装pytorch无法安装cpu版本(完整解决过程)
问题描述 在安装pytorch过程中,发现最后验证torch时总是返回结果为False,结果翻上去发现自己安装的是cpu版本的。 然后又通过conda去更换不同版本尝试,发现都是cpu版本的。 问题分析 通过conda安装pytorch是从源中搜索匹配指令中的文件&am…...
云计算ACP云服务器ECS实例题库
😘作者简介:一名99年软件运维应届毕业生,正在自学云计算课程。👊宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。&…...
面试题:作用域、变量提升、块级作用域、函数作用域、暂存性死区、var和let的区别
<script>var a 10;(function () {console.log(a)a 5console.log(window.a)var a 20;console.log(a)})() </script> 上述代码: 1、主要是涉及到变量提升和函数作用域,var a20这行代码会在函数作用域中提升var a 至最顶部…...
JAVA练习49-爬楼梯
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、题目-爬楼梯 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示:这里可以添加本文要记录的大概内容: 2月13日练习内容…...
深兰科技机器人商丘制造基地正式投产,助力商丘经济高质量发展
2月9日,深兰科技机器人商丘制造基地投产仪式在商丘市梁园区北航创新园隆重举行。商丘市人大常委会副主任、梁园区委书记张兵,梁园区区长薛天江、河南省装备制造业协会会长张桦,河南省机器人行业协会会长王济昌,深兰科技集团董事长…...
ES倒排索引/查询、写入流程
ES学习笔记 Elasticsearch学习笔记_巨輪的博客-CSDN博客 Elasticsearch学习之图解Elasticsearch中的_source、_all、store和index属性_BUse的博客-CSDN博客 倒排索引 倒排索引:ES倒排索引底层原理及FST算法的实现过程_es fst_Elastic开源社区的博客-CSDN博客 【…...
2023软考考哪个证书好?
软考有三个级别(初级,中级和高级),这三个级别分别对应5个方向,下面这张图片呢,可以一目了然,一些小小建议!!!遵循一个原则:首先选专业对口的科目&…...
一般人我劝你不要自学软件测试!!!
本人5年测试经验,在学测试之前对电脑的认知也就只限于上个网,玩个办公软件。这里不能跑题,我为啥说:自学软件测试,一般人我还是劝你算了吧?因为我就是那个一般人! 软件测试基础真的很简单&…...
docker/docker-compose 安装mysql5.7
目录使用docker安装mysql5.7docker普通安装docker生产环境安装使用docker-compose 安装注意注意一:docker-compose权限问题注意二:docker pull 找不到镜像使用docker安装mysql5.7 docker普通安装 docker pull mysql:5.7 # 启动容器 docker run -p 3306:3306 --name mysql -e …...
【C++设计模式】学习笔记(6):Bridge 桥模式
目录 简介动机(Motivation)模式定义结构(Structure)要点总结笔记结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金…...
Allegro如何批量快速修改复用好的模块操作指导
Allegro如何批量快速修改复用好的模块操作指导 在做PCB设计的时候,相同模块可以用reuse复用的功能,可以大大提升效率,但是模块需要修改的时候,其它模块也要跟着修改,逐个再去复用一遍比较费时间,Allegro支持批量快速修改复用好的模块 前提是相同模块必须是相同的mdd文件…...
网站alexa排名/微信推广方式有哪些
什么是位置参数,Python位置参数 位置参数,有时也称必备参数,指的是必须按照正确的顺序将实际参数传到函数中,换句话说,调用函数时传入实际参数的数量和位置都必须和定义函数时保持一致。 实参和形参数量必须一致 在…...
石家庄站建设费用多少/天津疫情最新消息
二叉树是n(n>0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。 还有一些右斜树 左斜树 满二叉树 完全二叉树之类的 这篇文章 记录 1.二叉树建立…...
九江的网站建设公司/手机网页制作软件
最近来自Docker官方网站的文章提到,从OpenStack Icehouse开始,Docker将与Heat集成。 而最早在OpenStack Havana 版本中,Docker 已经作为 Nova driver方式与OpenStack集成。本文将首先简单介绍Docker,然后介绍其与OpenStack 的集成…...
市场营销一般在哪上班/安卓优化大师官方版
命令简介:该命令用来列出目前与过去登录系统的用户相关信息。指令所在路径:/usr/bin/last 执行last指令时,它会读取位于/var/log目录下名称为wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。默认是显示wtmp…...
建一网站要多少钱/百度收录时间
1.图形化界面启动 右击“计算机”,在快捷菜单中选择“管理”命令,如图所示,打开“计算机管理”对话框。也可以执行“开始”|“控制面板”|“管理工具”|“服务”来启动服务。 改成手动模式,每次电脑开机都需要点击启动服务 2. 命令行启动…...
企业网站制作及cms技术/线下推广方式
大多数计算机语言,有且仅有一个表示“无”的值,比如:C 语言的 NULL,Java 语言的 null,Python 语言的 None,Ruby 语言的 nil。但是在 JavaScript 中却同时存在 undefined 和 null,这主要是由于历…...