新手入门:调环境,快逼到玄学了该怎么办

news/2024/11/29 22:29:54/

又开始坐下来写东西的感觉真好

  • 再次说说调环境
    • 新学生的新问题
    • 以ipyvolume的调试为例

再次说说调环境

新手入门,最难的莫过于环境安装。老手入新坑,亦是如此。
今天结合近两天的经历,再聊聊这个话题吧。

新学生的新问题

每年面对新到组里的孩子们,我都会让他们学一些有用的东西,然而由于高中到大一的不适应(本科到硕士同理),孩子们都是懵懵的,如同我当年一样(虽然现在也没那么好,此处战略性喝水…)

以ipyvolume的调试为例

近两天在复现pytorch深度学习的一些代码,需要使用到ipyvolume包(根据自己的问题此处具体的包名不同),结果尴尬了,安装出现了各种问题。

1,网络问题,此处不多解释。
2,也许大多数时间很幸运,但常在河边走没有不湿鞋,总会遇到那么几次安装不成功。此时最重要的是调整心态。因屋漏又逢连夜雨,在此时往往祸不单行,总有其他事情会更倒霉,如果心态没调整好,那么就没有下文了。(就像我常跟孩子们书说的,每崩溃过几次,就别说自己学过计算机。经历过几次之后,你也就习惯了…)(这个步骤我用了一天)
3,备份好你的已正确环境。此条建议最为重要,没有之一。往往新手在环境添加新的包会产出一些类依赖包的反应,导致新环境用不了,老环境也不能用了,至此从入门到放弃。为了避免上述情况,添加或更改之前,先备份!!!
4,新建单一的环境来适应新包(如在anaconda下建立新环境ipyvolume-test, python=3.6,特意用了一个老版本的python)。作为新手,到处搜,然后才各种坑,一路下来终于能调通官网示例代码了。(从玄学的角度说,此处看命吧。有人直接安装,一步调通。有人各种踩坑,依赖包、版本、网络断续,甚至硬件问题都出来,可以说一步十个脚印,举步维艰。)(这个步骤我用了2小时,接近半天,算是顺利吧。)
5,接下来的比较难,在老环境(已备份,python=3.9)的基础上安装新的包。由于有些包之间存在冲突,如jupyter的版本升级,python的版本进化,ipyvolume几乎已经停了等原因,依赖包之间的版本会有高有低,甚至矛盾。(这是我遇到的情况,一路顺利的请绕路。)(这个步骤我用了半天,几乎踩到了所有的坑,最后还原了升级之前的老环境,这次我没备份,还原累死了,要不然超快,起到了反面典型的作用。)
6,最后靠经验,提示:如果两个简单环境搞定了,却始终如何不到一起,那么分开做最节省时间。对于新手而言,这个时候往往想要放弃,实际上,借助简单的中转即可。如ipyvolume其实就是个可视化包,分析实例代码后可以得知,只需要提供可视化所需数据即可。那么我在第一个环境中,把生成的数据保存下来即可,如numpy的array保存,然后在另一个环境中load即可。
:python各种框架、环境和依赖包,简单起来直接用,复杂起来大牛也解释不了,何况我等凡人?(此处偷笑)按玄学理解吧,调整好心态,用别人写好的代码,就不要嫌麻烦了。怀着感恩大神的心去用别人辛苦写好的代码,而不要埋怨。如果非要,就从头开始自己写,否则加深自己的环境调试功力才是正道。

简单做个流程图。:

1
2
调整心态
备份老环境
调通新环境
融合或者分别做

http://www.ppmy.cn/news/3290.html

相关文章

使用小爱同学语音控制电脑关机 - Winform C#

使用小爱同学语音控制电脑变关机前言实现原理准备注册巴法云账号接入巴法云接入米家编写程序连接TCP接收信息并运行关机指令发送指令订阅主题添加心跳机制后台运行阻止默认关闭窗口事件完整代码前言 小爱同学应该已经是家喻户晓的了,现在一直用来控制家里的家电。于…

【学习笔记】SAP固定资产的减值功能

SAP固定资产的减值功能 若固定资产出现减值迹象,也就是固定资产的可收回金额小于账面价值时,就要计提固定资产减值准备。 分录: 借:资产减值损失(损益科目) 贷:固定资产减值准备(资…

卷积神经网络入门

文章目录前言基本内容前言 本文是之前和同事一些分享的笔记,还在整理中,先贴一个版本,后续不断更正完善。 基本内容 ILSVRC:ImageNet Large Scale Visual Recognition Challenge 国际图像分类领域竞赛 LeNet(深度&a…

六、JavaScript——变量的内存结构

一、内存 定义&#xff1a;内存是用于存储数据的地方&#xff0c;程序要执行一段代码&#xff0c;要先从硬盘加载到内存当中&#xff0c;再由内存发送给CPU,CUP才能对代码进行执行。 注&#xff1a;变量并不存储任何值&#xff0c;而是存储值的内存地址 JS定义一个变量 <s…

高级路由期末命令配置

文章目录前提要求(1)拓扑图搭建及IP地址规划拓扑图配置&#xff1a;IP地址表规划表1网络连接规划表表2 网络设备明细表表3 IP规划表&#xff08;2&#xff09;OSPF&#xff08;3&#xff09;BGP&#xff08;4&#xff09;路由引入&#xff08;5&#xff09;路由选择&#xff08…

二叉树-二叉树的基础遍历(3)

二叉树的遍历的三种方式 1.前序遍历&#xff1b; 先访问根结点&#xff0c;然后再访问左子树&#xff0c;最后访问右子树 2.中序遍历&#xff1b; 先访问左子树&#xff0c;中间访问根节点&#xff0c;最后访问右子树 3.后序遍历&#xff1b; 先访问左子树&#xff0c;再访问右…

JS文件操作介绍

JS文件操作介绍 本文将介绍前端浏览器支持的JS文件操作技术。相关权威技术资料 带有 type"file" 的 <input> 元素允许用户可以从他们的设备中选择一个或多个文件。<input type"file"> - HTML&#xff08;超文本标记语言&#xff09; | MDN …

JavaEE-多线程初阶2

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录Thread类及常见方法获取当前线程引用休眠当前线程线程的状态线程的所有状态线程状态多线程的意义多线程带来的的风险-线程安全…