python虚拟环境的概念,配置和操作(pycharm为例)

2023-11-04

一、虚拟环境的由来和概念

1.在PyCharm中创建python项目时,需要配置python的运行环境,除了使用系统现有环境以外,还可以创建虚拟环境。

2.虚拟环境的创建是因为在实际开发中需要同期用到不同版本的python解释器,不同的第三方库以及同一个第三方库的不同版本。因此需要创建虚拟环境将项目环境与其他环境(系统环境、其他虚拟环境)隔离。

3.如果入门学习,可以先不设置虚拟环境,使用系统环境。

4.PyCharm中虚拟环境的创建有三种方式,virtualen、conda和pipen。
在这里插入图片描述
5.virtualen可以想象成是将当前系统环境创建一个隔离副本,使用的解释器和你安装
的是同一个(复印件); conda是根据你的需要,选择特定的python版本,然后从网上下载相关版本,并创建一个与系统环境不一样的新的环境,使用的解释器也和你安装的不是同一个; pipen和virtualen类似,也是在现有系统环境的基础上创建一个副本,但是pipen使用Pipfile替代virtualen的requirements.txt来进行依赖管理,更加方便。
在这里插入图片描述
上面第一个勾选是继承全局的包
第二个勾选是让该环境可以继续应用于其他项目

二、常用配置操作

win+R,输入cmd回车进入命令行

切换盘符:

//进入d盘
D:
//进入F盘
F:

对目录的其他操作:

cd /?     //获取使用帮助

cd \       //跳转到硬盘的根目录

cd C:\WINDOWS  //跳转到当前硬盘的其他文件

d:        //跳转到其他硬盘

cd /d e:\software    //跳转到其他硬盘的其他文件夹,注意此处必须加/d参数。否则无法跳转。

cd..      //跳转到上一层目录

conda和pip管理包的常用操作

conda list //显示当前装有的依赖包

conda env list //显示当前装有的虚拟环境列表

conda activate xxx //进入xxx环境,后面打*号的是目前在的环境

pip show bayesian-optimization //查看bayesian-optimization的当前版本

pip show -f bayesian-optimization  //使用这个命令会输出 bayesian-optimization 包的所有信息,包括文件路径、依赖关系等。

pip install -U package_name  //pip更新package_name包

这里还有个很坑的点在于,powershell经常不显示当前环境,所以你也不知道当前的包装在哪个环境下,这里可以切换cmd来看到
powershell不显示当前环境名称
powershell不显示当前环境名称
切换cmd后可以看到环境的改变
切换cmd后可以看到环境的改变

请添加图片描述
vscode上的切换方法

三、进一步理解以及用我遇到的问题实例分析

以下ppt来自https://www.bilibili.com/video/BV1qE411u7N7,直观地解释了虚拟环境各种概念的关系
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

另外一个操作教学视频https://www.bilibili.com/video/BV1V7411n7CM
在这里插入图片描述

遇到过的问题

如果都装在同个虚拟环境下,版本会冲突,pip会自动卸载旧版本,装载当前包需要的版本,比如我就碰到过
在这里插入图片描述
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. torchvision 0.9.0 requires torch==1.8.0, but you have torch 1.13.1 which is incompatible. torchaudio 0.8.0 requires torch==1.8.0, but you have torch 1.13.1 which is incompatible. nevergrad 0.4.2.post5 requires bayesian-optimization>=1.2.0, but you have bayesian-optimization 1.1.0 which is incompatible.

这就是说,torchvision 0.9.0 需要 torch1.8.0,但是环境下安装的是 torch 1.13.1,所以这两个包之间存在不兼容的依赖。同样,torchaudio 0.8.0 也需要 torch1.8.0,但是环境下安装的是 torch 1.13.1,所以这两个包之间也存在不兼容的依赖。此外,nevergrad 0.4.2.post5 需要 bayesian-optimization>=1.2.0,但是安装的是 bayesian-optimization 1.1.0,所以它们之间也存在不兼容的依赖。

在这里插入图片描述
环境变量是从头开始查找,找到后就直接运行,
而虚拟环境终端的环境变量多了︰/虚拟环境路径/Scripts
这就导致终端先查到找虚拟环境的python,然后直接运行
python.exe(解释器)的位置定下来了,虚拟环境就定下来了

项目移植方法

项目移植到新计算机中时,可以从虚拟环境中导出某一个虚拟环境下下的所有包
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python虚拟环境的概念,配置和操作(pycharm为例) 的相关文章

  • 更改随机森林分类器的阈值

    我需要开发一个没有 或接近没有 假阴性值的模型 为此 我绘制了召回率 精度曲线 并确定阈值应设置为 0 11 我的问题是 如何定义模型训练时的阈值 稍后在评估时定义它是没有意义的 因为它不会反映新数据 X train X test y tr
  • 如何将 Google Cloud Storage 中的许多文件设为私有?

    我进行了很多研究 但无法为此提出解决方案 以下是我用来在 GCP 中公开所有文件的代码 def make blob public bucket name blob name Makes a blob publicly accessible
  • Seaborn regplot 中点和线的不同颜色

    中列出的所有示例西伯恩的regplot文档 https seaborn pydata org generated seaborn regplot html点和回归线显示相同的颜色 改变color争论改变了两者 如何为点设置与线不同的颜色 你
  • python blpapi安装错误

    我试图根据 README 中的说明为 python 安装 blpapi 3 5 5 但是在运行时 python setup py install 我收到以下错误 running install running build running b
  • 从 Python 将分层 JSON 数据写入 Excel xls?

    我想将一些数据从 python 写入 xlsx 我目前将其存储为 JSON 但它从 Python 中输出什么并不重要 单个文章的 JSON 如下所示 Word Count 50 Key Words Blah blah blah Foo Fr
  • Scrapy Splash,如何处理onclick?

    我正在尝试抓取以下内容 我能够收到响应 但我不知道如何访问以下项目的内部数据以抓取它 我注意到访问这些项目实际上是由 JavaScript 和分页处理的 这种情况我该怎么办 下面是我的代码 import scrapy from scrapy
  • Django 说“id 可能不为 NULL”,但为什么会这样呢?

    我今天要疯了 我只是尝试插入一条新记录 但它返回了 post blogpost id 可能不为 NULL 错误 这是我的模型 class BlogPost models Model title models CharField max le
  • 在 Python 中使用类作为命名空间是个好主意吗

    我正在将一堆相关的东西放入一个类中 主要目的是将它们组织到命名空间中 class Direction north 0 east 1 south 2 west 3 staticmethod def turn right d return tu
  • 从 Spark 数据帧中过滤大量 ID

    我有一个大型数据框 其格式类似于 ID Cat date 12 A 201602 14 B 201601 19 A 201608 12 F 201605 11 G 201603 我需要根据大约 500 万个 Is 的列表来过滤行 最直接的方
  • 监控培训课程如何运作?

    我试图理解使用之间的区别tf Session and tf train MonitoredTrainingSession 以及我可能更喜欢其中之一 似乎当我使用后者时 我可以避免许多 杂务 例如初始化变量 启动队列运行程序或设置文件编写器以
  • Scapy:如何将新层(802.1q)插入现有数据包?

    我有一个数据包转储 想要将 VLAN 标记 802 1q 标头 注入到数据包中 怎么做 为了找到答案 我查看了Scapy 插入新层和记录问题 https stackoverflow com q 17259592 1381638 这确实很有帮
  • 如何使用 Python 实现并行 gzip 压缩?

    使用python压缩大文件 https stackoverflow com questions 9518705 big file compression with python给出了一个很好的例子来说明如何使用例如bz2 纯粹用 Pytho
  • 从 python 文件调用 Julia 函数

    我能够创建一个 docker 环境 然后按照这个线程我有一个用 Julia 编写的高性能函数 如何从 Python 中使用它 https stackoverflow com questions 64241264 i have a high
  • python:xml.etree.ElementTree,删除“命名空间”

    我喜欢 ElementTree 解析 xml 的方式 特别是 Xpath 功能 我有一个带有嵌套标签的应用程序的 xml 输出 我想按名称访问此标签而不指定名称空间 这可能吗 例如 root findall molpro job 代替 ro
  • 访问影子 DOM 中的元素

    是否有可能查找 Shadow DOM 中的元素与蟒蛇硒 示例用例 我有这个input with type date
  • Django 按小时过滤

    我找到了那个链接 http code djangoproject com attachment ticket 8424 time filters diff http code djangoproject com attachment tic
  • 跟踪白色背景中的白球(Python/OpenCV)

    我在 Python 3 中使用 OpenCV 来检测白场上的白 黑球 并给出它的精确 x y 半径 和颜色 我使用函数 cv2 Canny 和 cv2 findContours 来找到它 但问题是 cv2 Canny 并不总是检测到圆的完整
  • 如何通过 Selenium 内部的文本查找按钮(Python)?

    我有以下三个按钮 我不知道如何获取其中的文本 例如异常值 我试过browser find element by link text Outliers click 但出现 无法找到元素 错误 我该怎么做 See find element by
  • Pandas 2 个字段中唯一值的数量

    我正在尝试查找覆盖 2 个字段的唯一值的数量 例如 一个典型的例子是姓氏和名字 我有一个数据框 当我执行以下操作时 我只获取每列的唯一字段数 在本例中为 最后一个 和 第一个 不是复合体 df Last Name First Name nu
  • 使用 python/scipy 进行 voronoi 和 lloyd 松弛

    如何使用 Qhull 确定哪些 voronoi 单元 按索引 是 正确的 由 现有顶点 组成 我正在尝试使用 LLoyds 算法和 scipy spatial Voronoi 它是 Qhull 的包装器 生成的输入来执行约束松弛 就代码而言

随机推荐

  • Jetbrain项目管理全家桶

    sudo mkdir p m 750 opt hub data opt hub conf opt hub logs opt hub backups sudo chown R 13001 13001 opt hub data opt hub
  • ppt地图分布图一块一块的怎么做_学会“地图话”,走遍天下都不怕!

    PPT是维他命 hi 这里是PPT是维他命 谢谢你的关注 我们一起进步 hello大家 又 好久不见了 心虚 距离上次更新已经快两个月了 说好的半月更 说好的尽快发地球公转 都是我的锅 从十一开始因为加课时一直在调整节奏 忙到原地陀螺转 这
  • Vue中使用七牛云上传报错o.upload.addEventListener is not a function以及其他报错问题

    1 运行提示o upload addEventListener is not a function 解决方案 此方法不是根本解决办法 问题3的解决办法是最终解决方案 找到node modules mockjs dist mock js 第8
  • 北京大学肖臻老师《区块链技术与应用》公开课 06-BTC-网络

    总述 用户将交易发布到比特币网络上 节点收到这些交易之后 将其打包到区块里 节点将区块发布到比特币网络中 新发布的区块在比特币网络中如何传播 The Bitcoin Network 比特币工作在应用层 application layer B
  • 羞羞的报告:2020年轻人性爱数据报告。

    VI 腾讯新闻谷雨数据出品 ID guyudata 转自 小蚊子数据分析 今天开工第一天 就来分享点数据相关的轻松的内容 2020年 多少人实现了性爱需求的满足 多少人处于性需求的 贫困线 以下 在性幻想 性需求的表达等方面 男女之间的抉择
  • 云杰恒指:7.29恒指期货实盘指导交易复盘

    对于一个成熟交易者来说 盈利是市场给的 没有属于我们的行情 我们坚持不会开仓 看不懂的行情不开仓 直到交易信号出现 然后精准出击 获得属于我们自己的利润 曾有人对技术分析过度依赖 在一次爆仓后找到我 我给出的答案是技术分析本来就是一会准一会
  • 一致性 Hash 算法(分布式或均衡算法)

    简介 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希 DHT 实现算法 设计目标是为了解决因特网中的热点 Hot spot 问题 初衷和CARP十分类似 一致性哈希修正了CARP使用的简单哈希算法带来的问题 使得分布式哈希 D
  • Python爬取研招网数据

    一 爬虫定制部分 导入相关的包 import requests import lxml html import chardet import pandas as pd import numpy as np 请求头获取页面 def get p
  • Spring Boot 代码混淆(proguard-maven-plugin的使用说明)

    什么是代码混淆 就是将代码的通过工具使其可读性变差 越差越好 Proguard是什么 官网地址 www guardsquare com proguard 该工具主要是为了实现Java以及Android App的代码混淆工作 从官网的说明可以
  • 批量爬取百度图片

    输入关键字和要爬取的数量 直接爬取图片并保存到本地 这个比较简单 直接使用即可 import requests import json word input 输入您需要爬取的关键字 page num int input 需要爬取多少页 一页
  • Linux 进程手撕笔记——万字深剖详解

    目录 传统艺能 冯 诺依曼体系 内存 控制器 如何搞管理 进程 操作系统立大功 进程查看 进程的 PID 获取进程 PID fork 进程状态 Linux 进程状态 进程优先级 为什么会有优先级 Linux 优先级相关操作 传统艺能 小编是
  • Java线程池的正确关闭方法,awaitTermination还不够

    问题说明 今天发现了一个问题 颠覆了我之前对关闭线程池的认识 一直以来 我坚信用shutdown awaitTermination关闭线程池是最标准的方式 不过 这次遇到的问题是 子线程用到BufferedReader 而BufferedR
  • 利用STM32CubeMX软件生成USB_DEVICE_SD卡虚拟U盘

    一 测试平台 MCU STM32F429NIH6 工具 STM32CubeMX软件 编译软件 MDK 二 配置步骤 1 打开STM32CubeMX软件 创建新的工程文件 先生成一个的串口的收发例程 需要实现将串口收到的数据发送的出来 生成串
  • 【华为OD机试 】新工号中数字的最短长度(C++ Java JavaScript Python)

    华为od机试共有3道题 分值为100 100 200 总分为400分 考试时间 2 5h 每道题目都需要通过测试用例来得分 全通过则为满分 华为od机试是在牛客网上进行的 采用ACM模式 华为od机试目标院校分数为160分 华为od机试非目
  • ideavim 解决烦人的中英文切换问题

    先下载插件IdeaVimExtension 然后终端输入 set keep english in normal and restore in insert 注意前面有个冒号
  • 利用遗传算法求解函数极值

    1 利用遗传算法求解函数极值 例1 利用遗传算法求函数 f x 11sin 6x 7cos 5x x 的最大值点 解 在MATLAB中编制绘制函数曲线的代码 运行得到题中函数的曲线图如下图所示 从下图中可以看出 该函数有多个极值点 如果使用
  • 使用ES6编写一个超简单的搜索算法

    自从chrome和ES6的普及 JS的性能和科学算法也日新月异 这次我就分享一个超简单的搜索算法 let result appData map item gt Object assign item count arr map i gt it
  • gulp安装那些事

    在Gulp中 使用的是Nodejs中的 stream 流 首先获取到需要的stream 然后可以通过stream的pipe 方法把流导入到你想要的地方 比如Gulp的插件中 经过插件处理后的流又可以继续导入到其他插件中 当然也可以把流写入到
  • 【电磁场计算】磁偶极子在外磁场中的受力

    磁偶极子在外磁场中的受力 背景 受力推导 矢量展开 结论 背景 最近在总结电磁场计算公式的时候发现 关于磁偶极子受力的计算公式 在不同文献中的说明有点出入 在此特地写一篇博客澄清一下 受力推导 通过磁偶极子在外磁场中的磁势能求梯度得出其受力
  • python虚拟环境的概念,配置和操作(pycharm为例)

    一 虚拟环境的由来和概念 1 在PyCharm中创建python项目时 需要配置python的运行环境 除了使用系统现有环境以外 还可以创建虚拟环境 2 虚拟环境的创建是因为在实际开发中需要同期用到不同版本的python解释器 不同的第三方