Windows数据科学环境搭建避坑指南
|
文章配图,仅供参考 去年双十一那会儿,我原以为在Windows上搭个数据科学环境能有多难?结果被坑得差点没赶上项目节点——现在想起来还后怕。当时我选的是Anaconda+PyCharm的组合,装完发现PyCharm的Python解释器死活认不到conda环境,点刷新按钮跟点诅咒似的,刷八百遍都没用。最后发现是Windows系统路径里有个空格,conda生成的虚拟环境路径里带了空格,PyCharm直接罢工。这事儿我敢打包票,但凡在Windows上搭过环境的都遇到过这种反人类设计——路径里不能有空格?这都2023年了,微软你礼貌吗?最离谱的是装RStudio那回。我按官网教程一步步来,装完打开直接报错“Rscript.exe not found”。我查了半天发现,Anaconda自己带的R版本和RStudio要的版本不兼容,得手动改配置文件。改完重启,又报“libcurl.dll missing”——这文件我明明在系统目录里看到了,但RStudio就是死活找不到。后来我同事老张叼着烟凑过来,说“你试试把Anaconda的R卸载了,直接装独立版R”。我照做,结果独立版R装完,PyCharm又认不出R解释器了。那天下午,我盯着屏幕上的报错信息,听着窗外下雨的声音,突然觉得这活儿干得像个傻子。 跟人吵架这事儿我也干过。当时我们组另一个分析师小李,非说在Windows上搭环境就得用WSL2,说“原生Windows就是垃圾”。我反驳他:“WSL2装完占二十多个G,而且文件系统跟Windows不互通,你跑个Python脚本还得在WSL里敲命令,图啥?”他冷笑:“至少不会路径报错。”我当场翻出上周他装WSL2时发的朋友圈——配图是“WSL2启动失败”的截图,配文“微软你欠我的拿什么还”。他脸一红,说“那是我版本没选对”。我原以为这事儿就这么过去了,结果第二天他给我发了个链接,是篇吹WSL2的博客,作者ID叫“WSL2永远的神”——我点开一看,作者头像是个卡通狗,简介写着“微软实习生”。 要说这环境搭建里最反常识的,还得是包管理。在Linux上,`apt-get install`或者`yum install`,基本不会出错。但在Windows上,conda装个包能报错八百种方式——有时候是网络问题,有时候是依赖冲突,有时候是版本不兼容。最绝的是有次我装`pandas`,conda报错说“Solving environment: failed with initial frozen solve. Retrying with flexible solve.”,然后卡在那儿不动。我等了半小时,以为它死了,结果它突然又开始动,又卡半小时,最后报错“UnsatisfiableError”。我查了半天发现,是我之前装了个旧版本的`numpy`,跟新版的`pandas`不兼容。我原以为conda能自动解决依赖,结果它连这种基础冲突都搞不定——这包管理工具是拿脚写的吧? 不过话说回来,Windows环境搭建也不是完全没优点。比如它图形界面友好,装软件不用敲命令,对新手友好——虽然这友好有时候是假象,比如装个RStudio能报错三小时。但优胜劣汰这事儿,在Windows上确实存在。我后来发现,但凡能在Windows上稳定运行的数据科学工具,都是经过千锤百炼的——比如Anaconda,比如PyCharm,比如独立版R。那些小众工具,或者新出的工具,在Windows上基本活不过三天。所以我现在搭环境,先查工具的Windows支持情况,支持不好的直接跳过——省得浪费时间。 对了,有次我装`tensorflow-gpu`,装完跑模型,GPU利用率显示0%。我查了半天,发现是驱动没装对。我重装驱动,装完重启,结果显卡驱动直接崩了,屏幕分辨率变成800x600,颜色还泛绿。我打电话给IT,IT说“你重装系统吧”。我原以为重装系统能解决,结果重装完,`tensorflow-gpu`还是认不到GPU——后来发现是CUDA版本没选对。这事儿我说不准是Windows的锅还是NVIDIA的锅,但站长个人见解,在Windows上搞深度学习,建议直接上WSL2或者云服务器——本地搭环境,纯属自虐。 现在我再搭环境,先列个清单:先装Anaconda,再装独立版R,PyCharm和RStudio分开装,包管理尽量用conda,冲突了再换pip。遇到报错先查Stack Overflow,查不到再问同事——问同事前先请他喝奶茶,毕竟没人愿意帮人调三小时环境。至于WSL2,我现在只当它是备用方案——毕竟,谁也不想每天跟微软和Linux斗智斗勇。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


Linux运维老手必避的5大Unix环境搭建坑
Linux安全环境搭建:从零到生产就绪
Linux数据库环境搭建:七步稳定运行指南
Windows运行库高效管理:7年测试工程师的稳定开发环境实践