又开始坐下来写东西的感觉真好
- 再次说说调环境
- 新学生的新问题
- 以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各种框架、环境和依赖包,简单起来直接用,复杂起来大牛也解释不了,何况我等凡人?(此处偷笑)按玄学理解吧,调整好心态,用别人写好的代码,就不要嫌麻烦了。怀着感恩大神的心去用别人辛苦写好的代码,而不要埋怨。如果非要,就从头开始自己写,否则加深自己的环境调试功力才是正道。
简单做个流程图。: