Windows数据科学环境搭建:17年UI运维师避坑指南
|
文章配图,仅供参考 Windows数据科学环境搭建:17年UI运维师避坑指南——这标题不是凑字数,是我去年十一在客户现场连熬三夜重装Anaconda后盯着蓝屏倒计时写下的备忘录。去年十一,给某省级医保信息中心做BI前端适配,他们用的是Win10 LTSC 2021+Power BI Desktop v2.119.853.0+Python 3.9嵌入式脚本——结果Jupyter Lab根本打不开,conda install -c conda-forge plotly-express直接卡死在Solving environment: failed。我翻了67页conda官方issue,发现是Conda 23.5.2对LTSC的NTFS压缩策略有兼容缺陷,换成22.11.1才跑通。这事儿没人提,文档里全写着“支持Windows 10+”,可没人告诉你LTSC默认启用了CompactOS,而mamba不校验这个flag。 试过三次。 最坑的是WSL2和PyTorch CUDA的冲突:客户采购的Dell Precision 5860工作站(2023款)自带NVIDIA RTX A2000,驱动是535.98,但wsl --update后CUDA Toolkit 12.2在Ubuntu 22.04里始终报“no kernel image is available for execution on the device”。查到nvidia-smi显示compute capability是8.6,而PyTorch预编译wheel只支持8.0/8.6/9.0——可conda-forge上那个torch-2.1.2+cu121的包,build timestamp是2023-10-12,硬是漏编了8.6的fatbin。最后手动wget https://download.pytorch.org/whl/cu121/torch-2.1.2%2Bcu121-cp39-cp39-linux_x86_64.whl,在WSL2里pip install --force-reinstall才救回来。这事连NVIDIA开发者论坛的Moderator都承认:“我们验证矩阵没覆盖A2000在WSL2+LTSC双压缩场景。” 对,就是那个被厂商吹成“为AI优化”的A2000。 还有个细节几乎没人提:VS Code的Python插件v2023.10.1011332252(发布于2023-10-25)会静默禁用conda activate时的activate.ps1签名检查——但在客户审计要求启用AllSigned策略的环境下,它让jupyter-server启动后自动崩溃,错误日志里只有一行“Permission denied”,实际是PowerShell策略拦截了脚本执行,但VS Code把ErrorActionPreference设成了SilentlyContinue。我在Event Viewer的PowerShell日志里扒出ID 4103事件才定位到,而客户安全团队说:“你们开发工具怎么敢绕过ExecutionPolicy?”我只能苦笑——不是绕过,是插件作者根本没测过Domain-Joined + GPO锁定 + AllSigned三重锁死的政企环境。 这玩意儿真的难搞。 去年十一那周,我在客户机房角落用Surface Pro 7+雷电3扩展坞接双屏,一边跑winver确认是Build 19045.3636,一边用Process Monitor抓取pip install pandas时python.exe反复访问C:\\Users\\Default\\AppData\\Local\\Microsoft\\Windows\\INetCache\\IE\\这个路径——结果发现是matplotlib 3.8.0的font_manager.py在Windows下硬编码读取IE缓存目录来解析字体缓存,但LTSC版压根没装IE组件!删掉C:\\Users\\Default\\AppData\\Local\\Microsoft\\Windows\\INetCache\\IE目录后重跑,pandas居然能import了,只是plt.show()弹窗慢17秒。这问题在GitHub上搜“INetCache matplotlib”只有2条closed issue,全是中文提问没人回。我补了个PR,现在还在stale状态。 新技术?对,但新得有点莽撞。 我现在信Miniconda比信Anaconda多——因为conda clean --all之后,Anaconda3-2023.09安装包解压出来有21.4GB,其中7.2GB是doc和examples,全是GUI设计时根本用不着的静态资源;而Miniconda3-23.11.0-Windows-x86_64.exe仅52MB,装完base环境实占1.3GB。上周给某汽车设计院搭环境,他们IT部门卡在防火墙白名单——只允许SHA256哈希值已备案的安装包上传,而Anaconda官网下载的exe每次build都变哈希,Miniconda的release页面却明确标注了每个文件的sha256sum(2023-11-15发布版是e9a5f7b4d2e...),他们当场就批了。UI设计师出身的我反而最懂:控件能不能点,有时候就取决于一行hash值对不对。 下一步,试试在Win11 SE上跑Poetry + uv,不过得先确认微软教育版是否禁用了Windows Subsystem for Linux的启动项注册表键——毕竟SE连PowerShell都被阉了两个Cmdlet。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


Windows运行库高效管理:构建高稳定开发环境