那一夜, 我竟然做了这样的事儿…
问题: 用Python做数据分析时, 安装相关的包会报错
解决方案: 请使用我做的一键安装Python数据科学包小工具:)
最近喜欢上了这种写问题解决类文章的结构,就是先说问题和解决方案,而把详细思路放在后面.因为据我观察,大家更喜欢知道如何解决,而不是分析和解决思路.
话说Python学都学了, 门也入了,不搞搞数据分析实在说不过去. 于是老老实实找来<<Python for Data Analysis, 2nd Edition>>, 翻开第一页, “欲练神功, 挥刀…”, 抱歉串台了, 是”欲练神功, 先装包包”. 包嘛, Python最NB的两大法宝之一.Python之所以NB,就是因为它就像万能的百宝箱, 能满足您的一切需求 (当然了,生理需求还得靠吃喝拉撒睡以及花钱解决,但最近朝阳群众发挥出色,学钢琴有危险…), 而包,就是百宝箱里的宝贝啦.
按照书的要求, 拿Python搞数据大体需要以下包:
numpy
pandas
matplotlib
lxml
seaborn
statsmodels
scipy
patsy
scikit-learn
beautifulsoup4
我一看, 嘿, 您别说, 除了不认识的, 就是认识的. numpy, Python搞数学的利器, 最近帮我做线性代数作业好用的一批, 那矩阵运算功能, 嗷嗷好用, 比我算的快多了而且没错过, 反正错了我也发现不了. pandas, 之前数据分析入门时用过, 而且还能处理Excel, 好东西. beautifulsoup4, 非常哇塞, Python看家功能 - 爬虫的基础包, 分析HTML, 找个神秘代码什么的, 嗷嗷好用. 剩下的,就是它认识我, 我不认识它了. 不认识没事儿, 装包咱会呀, 给Python装包可比装B简单多了. 走你! 直接打开Windows Terminal, 执行:
1 | pip install <包名> |
然后,我就收到了这样温馨的提示:
我去, 不是说好要做彼此的天使么, 为何如此为难一个单纯善良的少男? 这满屏的红色都是什么玩意? 没关系, 书中自有颜如玉, 打开 <<Python for Data Analysis, 2nd Edition>>, NB, 不愧是一部超级好的Python数据分析教材, 装包装出错一点没讲, 如此不多赚稿费的行为, 请允许我为您点赞.
这下就有点尴尬了. 话说我只是个使用者, 说好听点, 数据科学领域的学习者, 难道还没在知识的海洋里徜徉, 我刚到沙滩就被晒太阳的比基尼小姐姐绊倒了? 当然我其实不介意, 只是总觉得中华民族伟大复兴事业刚刚如火如荼开展, 我怎么能就这么四仰八叉躺在知识海洋的沙滩上胡吃闷睡呢? 绝不允许呀! 于是, 我决定动用我不怎么丰富的知识找找思路.
网络问题? 确实Python的包都是从互联网的库里下的, 但是我已经把库改成了清华大学开源网站, 不会经过太平洋海底的光缆, 无非就是从海淀跑到西城, 这网络还不是咔咔的?
好吧, 为了确保不是晚高峰堵车导致数据包全卡在了三环路上, 我从网上把需要的包手动一个一个地下载到本地, 我本地离线安装, 这下没问题了吧?
结果, 奇迹没有出现, Windows Terminal 还是仿佛满山杜鹃花, 红成了一片. 我就奇怪了, 为什么我最爱的 00992号港股就没这么红呢? 8块出头的股价什么时候才能涨到80? 为什么人生不如意, 十有八九? 难道阿拉伯著名哲学家说的都是对的?
难道是Windows 11的问题? 自从把系统升级到了Win 11, 我已经被漂亮的输入法工具栏迷上了, 甚至为了随时见到它的身影, 我把积攒多年词库的QQ输入法都抛弃了, 你们知道里面有多少优雅的陪伴我成长的词汇? 不可能, 不可能是Windows 11的问题. 我的理性思维告诉我, Windows 11这么漂亮, 不可能会有错! 而且作为 “中国反舔狗协会北京市西城区西长安街街道分会副会长” 同时兼任”中国反颜值即正义协会海淀区马连洼街道软件园分会男秘书”的我, 从不相信长得好看就不会错, 所以肯定不是漂亮的Windows 11的错, 就这么愉快而理智地决定了!
难道是我包下错了? 不可能, 我的Python是最新的3.10版本, 而我下的每一个包都写明了是 for 3.10, 作为61分高分通过大学四级英语考试的我而言, for 3.10 里的那个for简直就是明白无误地告诉我这是给3.10版Python用的, 怎么可能我下错包? 那种下了一个晚上<<七个男子闯入年轻夫妻家然后发生不可描述事件.mp4>> 最后一看是TM葫芦娃的2B行为, 肯定不是我干的, 我怎么可能下错包? 我怎么可能用512K的ADSL拨号上网下了一宿然后下个葫芦娃…
包没错, Win 11没错, 我也没错, 大家都没错, 那错的是什么? 难道其实Windows Terminal 里面红色的Error其实是安装完毕的意思? 难道这是美帝的最新阴谋, 目的就是让我这样为中华崛起而奋斗的年轻才俊知难而退? 嗯, 很可能是这样. 我已经决定close掉这个问题, 安然入睡. 但是, 我胸前隐藏的红领巾告诉我, 勇敢的狮子座黄金圣斗士, 要勇敢面对, 不要就这样睡去啊! 而且您睡前不想去个洗手间么?
唉?! 想去洗手间的念头出现在脑海里, 迅速激活了我大脑丘脑前核群以及穹窿峡的反馈, 难道是这样? 赶紧起床打开笔记本电脑, 对, 是那台ThinkPad W系列移动工作站, 是的, 联想的移动工作站非常好用我的朋友, 赶紧在我的每一行安装代码后面加上了那串神秘的字符:
1 | TOKYO HOT Original Movie Collection |
抱歉抱歉我脑袋调错信息了,是
1 | pip install <包名> --user |
哈哈哈, 见证奇迹的时刻, 所有包安装完毕! 没有报错! 没有问题! 没有红色!
搞定了包, 我突然想到, 遇到这样问题的肯定不止我一个, 大家都是Python的使用者而非程序员或专家, 遇到问题难道就如此知男而退? 这难道不会让人男上加男或者左右为男? 我觉得, 作为一个受党教育多年的超龄少先队员, 我有必要把安装所有Python数据分析需要的包做成一个简单的能一键成功的工具包, 而且本着开源的精神, 我应该把包以及代码都放到Github上. 于是, 就有了我维护的这个仓库:
Data Science Packages for Python (Github)
Data Science Packages for Python (Gitee)
使用方法很简单, 我也在仓库首页写了readme, 简单到家啦
没想到整个过程最麻烦的不是写bat程序, 也不是下载包, 而是把包放到哪里供大家使用. 放到网盘然后分享? 请允许我对国内的网盘环境表示遗憾. 免费的不好用, 好用的不免费也不敢用就是目前国内网盘市场的现状.
那就只能Github了. 国内访问Github真是太TM一言难尽了. 整个git push过程令人抓狂, 每次报错的信息都不一样, 要么是”人家去洗澡了”, 要么是”人家要睡觉了”, 要么是”人家要边洗澡边睡觉了”, 要么就是连理由都懒得找了直接就卡那里一动不动. 每次看着Git Bash报错都唤起了我对美国联邦政府的愤恨, 要不是你们瞎闹腾, 我至于还得弄个Gitee仓库玩儿双飞, 不是, 双修吗? 每次挂两个仓库push两次, 你知道我多累吗? 一个已婚带娃男人的肉体, 禁得起这么折腾吗? 不过这次折腾也不是没有收获, 我又知道一件事:
Git上传大文件, 需要安装并启用Git-LFS组件
NB, 从下载到安装全搞定, 问题真的可以Close喽, 睡觉去喽.
当然了说这些不是让您感谢我, 更不是希望您们为了鼓励我给我发红包转账, 虽然我的支付宝微信随便你们往里转账,但你们都了解我, 我是见钱眼开的人吗?