2023-07
30

半半的坎

By xrspook @ 11:14:37 归类于: 烂日记

当我把python的脚本修改完毕,觉得没什么问题了之后我把那发给我的同事,理论上她的电脑上已经安装过python,但实际上当她双击打开py的时候,会默认弹出VSCode,并不能运行python本身。这是我之前从来没有遇到过的,因为我安装的都是python的官方程序,启动器在安装的时候只要你默认,基本上都会装上,但问题是我同事安装的是anaconda。现在的python教程通常都会推荐用anaconda,那里自带的编辑器是jupyter notebook。jupyter notebook到底怎么用实际上我没搞懂的,虽然实际上py文件也能运行,但jupyterr notebook默认的保存文件不是py,所以用普通的python到底能不能打开jupyter notebook保存的文件我还真没试过。从我开始学习python,我用的就是VSCode。当我很长时间不用VSCode以后,当我再次打开,我会发现VSCode里面默认帮我装上了jupyter notebook的插件。

双击点py文件就用VSCode打开,然后还得找终端,但实际上因为可能anaconda安装python的时候并没有默认安装启动器,所以在那里双击没有运行cmd,双击打开py文件的时候,依然是VSCode本身,变成一个运行不了的死循环。 VSCode本身没有问题,问题是py文件的关联没做好,这才是问题所在。

要做到的不过是双击就能直接打开py文件运行,所以把py文件默认用cmd打开运行就好了。在cmd里输入python会显示拜访的版本,这没有问题,这意味着电脑已经安装了python,但问题是当输入where python的时候显示的是一个C盘很长很长的地址。按照那个地址打开文件夹,的确是有python的。再把这串地址上面的exe文件输入到py文件的打开方式的时候,py文件就终于可以双击运行了。双击的确可以弹窗运行,但问题是如果py文件运行的时候出现状况,比如说一闪就没了,就意味着可能文件没有正常运行,而是遇到了某个东西中断了。第一次成功设置好双击的时候,的确就出现了这种情况,直觉告诉我肯定是出状况了。在py文件所在的那个文件夹里输入cmd,然后再运行py文件,结果发现提示没有安装pandas插件。我的同事觉得很不可思议,因为anaconda本身理论上这些插件都是齐全的。我觉得之所以会这样是因为anaconda把插件安装在了自己的那个地方,而现在是单独运行python本身,而python本身的文件夹里面没有这个插件,所以这就导致了插件缺失。需要安装插件,要怎么个装法,对我这种人来说,我第一个想到的就得先设定插件下载来源为清华的镜像。如果你使用python官方路径下载,估计要很长时间,即便花了很长时间也可能会下载不全,因为非常有可能因为时间太长,网速太差丢包。虽然安装一个pandas的插件,但实际上要支持电脑运行,也要安装其它的插件,任何一个不齐全都可能会导致最终无法运行。在知道她得重新安装pandas的时候,我就已经把清华镜像的设置发给了她,但是她还要是没有意识到必须得先设置国内的镜像路径,然后再去下载。虽然单位的网速进行了限制,但是下载清华大学的镜像还是很快的,相比于python官方的下载来说清华基本上可以说是一些典插件安装的必然选择。如果你安装的是一些开源性自行设计小众插件,清华的镜像可能没有,那时候你就只能通过开发者提供的路径去下载。

其实我并不需要她完全按照我的思路来,我告诉她要什么,她只需要实现就行了,现在挺反映出来的状态是她大概知道我要做什么,但是她没有反应到用她的方法应该怎么做,有可能是她没想过要去想。一半他的一半的最终结果就是,我不知道她到底卡在了什么地方,因为以我的方式是完全不会卡的,她估计也会觉得我带她走了不少弯路。

不是人人都天生喜欢自发创新,该怎么找到这种人呢?

2020-11
24

2020只剩下一个月了

By xrspook @ 9:35:11 归类于: 烂日记

昨天当我重新配置VSCode的时候,我发现python的东西我好像都已经忘干净了。之前几个月,我花了那么多时间去研究折腾,现在,除了最核心的东西,格式上的问题我好像全部都忘干净了,大概研究一下就可以重新上手,但现在如果叫我写脚本,我会彻底一片空白。同样一片空白的还有我的git的文件夹。换了个硬盘,要重新配对上显然不容易了。当时放到网络上的东西只是一部分,最根本的那些我还没往上面放。所以这就意味着其实我的电脑还是要装一个git的,然后把那些东西整理好以后往上放。什么时候才做呢?我自己也没想好。之所以没想好,大概是因为我还有一个羁绊。

今年我们已经写了两篇统计分析,但无论写多少,年底还是得有一篇对应2020整年的分析。那个东西该怎么写?如果按照从前的套路,直接在从前的数据上面更新数据,肯定没什么难度,但是我要做的显然不仅仅是那些,因为每一年的状况都会略有不同,最重要的我觉得是把握那些不同点,但我也明白不同点只是一部分而已,整体的思路还是得延续从前的风格,但从前的风格是不是一定就靠谱呢?具体的细节我还没想好要怎么整,整体的规划,暂时也没有一个很确切的想法。现在我我的状态是想做又不想做,摇摆中。情况就像我想逃避,但我又非常明白这根本逃避不了。还剩下一个月的时间。这个东西必须得整出来,我知道其实一个月的时间很充裕了。要解决一个细节上的问题,几天就足够。但毕竟这不是我一个人做的事,所以我不能把那算得那么死。应该用什么样的风格?应该用什么样的图表去表达呢?今年前两个分析,跟之前的风格不一样,因为都是专题类的,要凸显出某些东西,而这一次,全年的分析显然侧重点不在那里。这是我重新接手统计的第四年。印象之中,前几年我好像从来没有在这个问题上费过多少心。现在,数据的整理已经常规化,所以我会在细节问题上纠结。从前如果要做一个年底的分析,我大概是到年末的时候才开始整理数据,但现在每个月末我都会整理。所以总的来说,我的查询表相对而言已经比较固定完善,但这也说不准什么时候我又蹦出来有一些新想法,是之前的那些数据收集方式无法覆盖到的。在2020年里搞定这些事,接下来的那两个月不过是等过年而已,没有烦恼。秋普已经过去,剩下最后一个比较大型的就只有绩效考核。如果你问我,春秋普查慌一点还是绩效考核慌一点,其实我都无所谓。如果我说两个我都不慌的话不知道有没有人会相信,因为实际上,那些检查要求做的事,在日常工作中我已经都做了。

我的方糖12月28就可以完成最后一次的打卡,如果能坚持到那一天的话,方糖2就算是被我白嫖到了。理论上,在那一天之前,我就应该完成今年的统计分析的绝大部分,剩下的只有更新最后几天的数据而已。

纠结要做什么的时候是最浪费时间的。

2020-08
13

喜欢VS Code

By xrspook @ 11:30:56 归类于: 烂日记

我感觉自己越发喜欢VS Code了,这个东西的确就是我想要的写码工具,如果早点认识它,从前我就不需要走那么多的网路了。用VS Code写过代码以后,我对它是一发不可收拾的喜欢,但我始终不习惯在暗黑界面码中文,毕竟写代码和码中文不一样,写代码的时候思路是自己的,但积木的类型是固定的,这就意味着写码的时候如果有Emmet会相当便捷快速不出错,但如果在写blog的时候,尤其不是写代码技术类的时候,Emmet会变得毫无用处。同样我不需要额外纠结的还有中文语法。写blog是很自由的事,试想一下满屏的各种颜色波浪线,侧面和下面还有各种数字圈圈那将多么的恼人,当然了,貌似VS Code还没有厉害到可以有中文语法自动检测这种功能,我估计英文可能已经有了,Office几百万年前就已经有的功能VS Code可能天生就内置了,即便没有,让你绝对想不到的插件也肯定能实现。Offcie有中文语法检查的功能,但那个东西,笑而不语就好,别当真。

写码为啥要VS Code呢?不仅仅是Emmet功能,写过的函数,设定过的变量往后再用的时候,敲几个字就能有提示,就更不用说,使用默认的系统函数时能马上显示出详细的函数说明。自己写的变量一个颜色,系统函数一个颜色,保存以后还能自动语法检查,妈妈再也不怕我会犯格式上的错误。但话说回来,格式不错,不代表代码就一定可以运行出你想要的效果。毕竟代码的核心仍然应该是你的思路。

我不知道为什么大家都说暗黑模式写码护眼,护不护眼我不知道,但我知道白色界面看五颜六色的高亮会刺眼,相对来说,背景主色调是深色就没有这种不和谐。是不是因为这样,所以一开始的电脑都是黑屏白字而不是反过来呢?因为他们完全可以把那个东西做成计算器那样白屏黑字。现在我的习惯挺奇怪,写码的时候我用黑屏,写blog或者写其它文章的时候用白屏。我感觉自己用白屏的时候字体大小得设定到起码是黑屏的1.5倍。

去年我第一次接触R语言,觉得那个东西实在太伟大了!今年年初我的计划是学习R语言,但结果Python捷足先登了。VS Code搭配Python那是爽得一逼的节奏,因为Python是很大路的程序语言,所以很多东西已经非常完备了,相对来说R语言小众一点。无论是官方自带适配的还是第三方插件都比较弱。我用过R语言写码,那个东西简直是太难写了!一大串东西写好,要修改其中的一些,还不能鼠标快速插入,只能用键盘光标移过去,实在太逆天!当时我用的不过是系统函数,很多参数的位置和写法都是固定的,无数次我运行失败都是因为我手贱敲错了。试想如果这放在VS Code,有自动的语法提醒纠正,这种烦恼根本不存在。同样比较烦人的写码还有Excel VBA。运行的时候他们会弹出一个代码告诉你出错了,代码到底什么意思呢?到底是哪里卡死了呢?他们明明都得出代码了,却不直接告诉你到底是什么意思,很多时候,运行卡住是因为我手贱把一些系统参数的名字写错了…… 又是参数名字写错!如果在VS Code,这种事情根本不会发生啊!

写代码的方法千万条,但能边写边提醒你不犯低级错误的通常都不是某个程序语言自带的编辑器……

2020-07
18

DIY python脚本实现静态网站生成

By xrspook @ 18:05:16 归类于: 烂日记

当所有现成的方法都解决不了问题的时候,我选择了自己写python脚本转换我的静态网站。花了一个下午的时间,居然还真做出来了。之所以可以这样,是因为我是站在巨人的肩膀上的,我用的是gitbook的格式,他们的静态网页是怎么整的,我就怎么整,毕竟在一个网页里面,哪些部分的数据需要动态变化,哪些需部分的数据无需变动是显而易见的。

之所以可以这么快,另外一个原因是我有了调试的利器。这一次,我用的是VS Code调试html代码。VS Code本来就很强大,昨天更新了个新版本以后,还自动内置了自动修改标签功能,之前这个功能需要用插件实现。大概因为要用这个功能的人实在太多了,所以还不如把它变成默认支持。默认也是需要设置的,不过那就不过是打一个勾而已。VS Code版本更新来得很及时,刚好在我需要用到这个功能的时候,他们就更新了。我还安装了美化格式的插件,这样的好处是,缩进空行什么的一键完成,虽然这个东西看上去很美好,但实际上也是有缺陷的,甚至导致我都不敢用了。因为他们为了好看做了一些不该做的事,超连接给我回车分行,并且在a和href之间再加入很多缩进,这样的话,超链接就不再是超链接了。我实在不知道他们是怎么想的,显然这是一个很大的bug。帮助我最大的是一个叫做live server的插件。这个东西可以虚拟出服务器,网页就可以直接在浏览器上实时更新了。这样的好处是显而易见的,因为这样的话,网站上的超链接全部都可用了,而不需要再按一个CTRL。那种感觉就像直接是在服务器上运行了。我觉得这个效果大概跟各种脚本建立虚拟服务器静态网站差不多。那些脚本除了建立静态网页到缓存,还开起了虚拟服务器。现在,我自己写静态网页,live server开启虚拟服务器。

从前用记事本或者Notepad++,写html的时候,标签配对从来是个大问题,虽然写好了以后,他们会提醒你标签到底配对到哪里了,但在写的时候一点都不智能。之所以这样,可能因为我一直没有去找Notepad++的相关插件。VS Code自带了智能配对的功能,当你写完半边标签以后,后半边自动跳出来了,而且标签你不用写全,写一部分他们就会提醒你,你即将要写的是什么,然后选择就可以了。这样的好处是,标签的配对再也不会出状况,而且标签也不可能写错了。当时我是在看某个介绍VS Code的视频的时候知道这个Emmet功能的,也正是因为这个功能吸引我,那天晚上就下载了个便携版。我不知道便携版和安装版有什么不一样,反正后来,VS Coe用得越来越多,安装版是必须的。如果从前就有VS Code,大概我的很多工作就不需要走那么多的弯路了。但话说回来,现在我写的是静态的网站,如果那是动态的,估计就没那么容易了,但是,就标签配对来说,VS Code还是相当棒的。

现成的各种方法用几个小时,甚至根本生成不出来的电子书是静态网站,我用120秒就搞定了。前提是我们的数据源不一样。我配给他们的数据源是9000多个markdown文件,而我自己使用的数据源是一个20多MB的XML文件。可以生成我梦寐以求的静态网页当然是件好事,但这些静态网页加起来,居然有接近8GB的大小,显然这就很逆天,没有哪个地方能供得起这样的数据。根本原因在于我的每一个页面里面都有一个800多KB的目录列表,排除那个目录列表以外,实际上每个网页文件的内容大都只有不到10KB。所以摆在我面前的是,我不能让那个目录存在于每一个页面,我需要做一个目录页,也就是归档页,我要把那个归档页的链接放到现在的目录那里,而现在的链接则放在归档页里面。只放全部文章的归档页又好像非常空旷,所以接下来,我得考虑把从前的点点分类重新带回。最终的目录那里会有全部文章归档,以及各个分类的归档链接。这个过程挺绕,是我让那些分类消失的,现在我又要把那些分类带回来。最简单的方式是我修改点点到wordrpess的转换转换,让那些分类重新回到分类那里,然后下一步的wordpress XML转化为静态网页文件才会流畅。

python已经成为了我的大杀器,我要学更多,让这杀器更厉害!

2020-07
14

脚本相关

By xrspook @ 9:09:56 归类于: 烂日记

昨天GitHub不知道发生什么状况,下午我发现服务器上不去,晚上貌似又好了。但问题是,下午我push上去的东西,代码页面已经修正过来了,但是网页显示还是老版本,至于为什么,我实在没搞懂。无论,我把仓库检查多少遍,线上跟线下都是一致的,为什么展示页面却不行呢?实在让我很迷惑,如果仍然是这种状况,估计我得把整个仓库里的内容全部删掉,然后重来。这样做肯定是最彻底的,但我真的需要如此变态吗?好像有人说过,如果修改了某些东西,那个会导致网页崩溃的话,GitHub Pages就会一直保留在最后那个靠谱的版本,我觉得新生成的网页没什么问题,因为我在单机上也测试过了,所以接下来可能我要把本地仓库里面的东西全部删掉,然后重新生成网站,再去校验。昨天我试图用一下git bash,但我发现自己根本不知道那个五颜六色的东西要干嘛。尤其是到达某个叫我注释的页面,我完全不知道该如何处理那个东西,不知道该用键盘还是鼠标,不知道应该在哪里操作。那个界面没有任何提示,真的让人非常抓狂。Dos界面很多东西都是默认的快捷键,但显然那个五颜六色的版面的快捷键我一窍不通。而他们默认的处理方式是你懂的。用CMD处理git不是老手做法,但我觉得CMD反而让我心安理得一点,因为CMD要输入的东西永远在最后,不会五颜六色蹦出来一个界面,或许能用鼠标,但实际上又好像实现不了某个功能。VS Code貌似原生是支持GitHub的功能,但我好像找不到登录界面。我明明已经把某个仓库的本地文件夹加入到VS Code的工作区,但是软件还是没感知出来。

下午的GitHub一直显示服务器500错误。没办法搞那个,所以我就研究Excel VBA去了,去实现一个我一直以来都很想做,但是却一直没有动手的东西。最终我写出来了两个脚本,一个用来整理数据,另外一个用来一键生成数据透视表。这两个东西,基本不需要再理清思路,首先用录制宏走一遍,然后参考一下里面的代码。录制的宏里面,总有很多废话,很多无厘头的各种操作。如果那个代码完全是写的,而不是录制的,就没有这么多多余的东西。录制的宏里面默认会带入非常多的默认设置,但实际上,那是不需要写出来的。录制的宏里面也有非常多确定某个选区的命令,但实际上,那也是没必要的。在Excel的可视化界面,鼠标点在某个单元格,录制的宏里面就会确定一个选区。实际上很多时候,鼠标点在哪个单元格其实都是无所谓的,那是很随意的,但是其实我们可以确定某些不随意的单元格。把定位写死就不用经常切换选区,选区选来选去,选了以后又没取消,我不确定会不会整出什么幺蛾子。数据整理的脚本我写的内容还多一点。数据透视表的一键生成跟我录制出来的那个东西差别不大,因为的确那些语句都得表达出来。耗费我最长时间的是数据透视表新表格的建立。我一直以为是数据选区我的表达有问题,但实际上原来是我新增数据表的某些语句写错了。VBE与VS Code比起来,我觉得最不人性化的就是,明明那都是明摆的语法,是你拼写错误了,运行的时候,居然不提醒你。如果能像VS Code那样,固定搭配写对了,显示某个颜色,如果你乱写一个东西就不是那个颜色,语法错误就给你下滑波浪线,debug的时候,我就不需要浪费那么多时间。昨天我的状态也不太行,因为一些理所当然的单词我几乎每次都会拼写错误。看来看去找不到原因,最后发现单词写错了。大概如果我要玩Excel VBA,我必须得找一个靠谱的VS Code插件。

在经历过好几个星期才能解决一个脚本问题以后,一天解决了两个,让人有莫名的成就感。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress