Windows数据科学环境搭建:5年运维避坑实战
|
去年劳动节,我蹲在IDC机房配完三台WSL2桥接失败的笔记本回来,总编在会议室门口拦住我,说“Windows数据科学环境搭建”这选题毙了——不是内容不行,是“太像给甲方写投标书”。我当场把保温杯盖拧松又拧紧,第三遍时听见里头小编正用指甲刮投影幕布边沿,咯吱、咯吱。 我原以为只是版本冲突的事。结果查到第七个conda-forge镜像源时发现,根本不是Python包打架,是Win11 22H2之后那个叫“安全启动固件策略”的玩意儿,默认禁掉所有非微软签名的CUDA驱动加载路径。你pip install -U torch?它笑着给你弹个蓝屏预览框。这个我敢打包票,上周五下午三点十七分,我盯着那框看了十八分钟,没截图,因为手机在裤兜里震了两下就再没响过——后来才想起是隔壁桌老张的钉钉提醒,他刚把JupyterLab服务端口从8888改成8889,顺便把整个K8s集群的kube-proxy配置搞丢了。 优胜劣汰?对,就是字面意思。去年搭环境摔过三次:第一次是Anaconda+PyTorch+VS2019混装,卡在nvcc -V不识别;第二次换Miniconda,又撞上Windows Terminal默认编码是GBK,跑UTF-8脚本直接报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x94;第三次……算了,第三次我干脆手写了个bat批处理,硬塞进Startup文件夹自动执行chcp 65001再拉jupyter-notebook——可它偏偏只在交互式命令行生效,系统服务模式下照样乱码。这种事,你说它坑不坑?可它真没骗你,它连error message都诚实地告诉你“你的终端不认这个字”,而不是假装跑通了再吐一堆nan。
文章配图,仅供参考 选题会被毙那天,总编左手转着一支没拔帽的签字笔,右手在平板上划掉三行字,中间停顿了四秒,足够我看清他锁屏壁纸是儿子小学运动会照片。我张嘴想说“其实用户要的不是‘完美环境’,是要‘别重启三回还装不上lightgbm’”,话到一半,外卖盒在会议桌角凉透了,汤汁凝成半透明膜,浮着一粒花椒——没人动,连勺子都还裹着塑封膜。谁都没提。我们聊的是KPI权重调整方案,聊的是下季度AI选题的流量阈值线,聊的是为什么“Linux服务器运维”专栏阅读量涨了而“桌面端调试实录”跌了十八个百分点……反正没聊为什么一个能跑Stable Diffusion的机器,initiate a virtual environment要报ERROR: Cannot uninstall ‘numpy’. It is a distutils installed project……说回优胜劣汰。真不是修辞。你装错一次cuDNN,系统不拦你,它让你装,装完你import torch,它返回None;你改错registry项,它不拦你,它让你改,改完你nvidia-smi能看见GPU,torch.cuda.is_available()却永远False;最绝的是那个Windows Subsystem for Linux v2和Hyper-V共存时的内存泄漏bug——不是蓝屏,是悄咪咪吃掉16G RAM,任务管理器显示3%占用,但top看wsl.exe实际占了14.2G,进程列表还排不到前十。这种东西,你不自己被压到内存报警线以下反复杀进程三次,你永远记不住要在wsl.conf里加memory=4g这一行。这不是教学,这是考试——考场不发卷子,只发一台裸机和一份带错别字的官方文档PDF。 前两天小李(就是总编手下那个穿灰卫衣的)来问能不能把公司统一镜像里的PowerShell替换成7.4版,我说可以啊,顺手给他推了个.ps1脚本——结果他运行时报错:“无法加载文件……因为在此系统中禁止运行脚本”。我让他输set-executionpolicy remotesigned,他输完回车,弹出UAC窗口,他点了“否”。我就看着他手指悬在鼠标上方,像卡在某个IO阻塞点上。我没出声。旁边老王端着咖啡路过,杯子斜了一下,褐色液体泼在键盘右上角F12键位置,滴下来三滴,在地毯上洇开一小片深色,他低头看了一眼,没擦,继续往茶水间走。这事我没教他,也没必要教。这活儿干久了,你自然懂:有些门必须自己撞三次,撞得额头青紫,才信这墙是真的。 哦对,昨天发现个新问题——Win11 23H2那个叫“快速启动”的功能,关机时会冻结整个用户会话状态,导致下回开机WLS2启动后GPU memory leak更严重。我试了十六种disable方式,最后发现只有在电源选项里把“启用快速启动”勾去掉还不够,还得手动删掉HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power\\HiberbootEnabled这个键值。这事我也不敢说死,毕竟今早测的那台是戴尔XPS,惠普ZBook同配置反而没事。这个我说不准。但我知道,等你哪天看到nvidia-smi输出里Memory-Usage那一栏突然多了一列“Reserved”,就说明你该重装WSL了——不是重装系统,就重装WSL,干净利落,十分钟搞定。比调path变量强。 下次选题会我打算闭嘴。带杯热的去。如果还是凉的……那就凉着吧。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


Linux数据库环境搭建七步实操指南
Windows多媒体站点权限配置实战指南
Windows站点搭建总踩坑?5步权限配置法一次到位
Linux安全环境搭建:15年性能工程师实战指南
嵌入式Linux开发者Unix环境搭建避坑指南
Windows环境搭建的3大安全断点:90%运维人忽视
Windows运行库高效管理:构建稳定开发环境