大家好,我是晚枫,用通俗易懂的方式,教小白学python。
最近我不是在跟着晚枫老师的课程学习嘛,然后在学习的过程中,我竟然被pip install 这个命令给拿捏了。
这不,当我满怀期待地在终端输入 pip install requests时,屏幕上却突然闪现出一连串令人头疼的红色错误信息:
1 |
|
01
这个熟悉的场景相信每个Python开发者都不会陌生。
明明只是想安装一个简单的第三方包,却被版本冲突搞得焦头烂额。
项目中已有的urllib3版本是1.26.8,而新要安装的requests却要求urllib3版本在特定范围内。
升级或降级urllib3可能会影响其他依赖包的正常运行,不处理又无法安装新包。
就是这种进退两难的局面让开发者陷入了”依赖地狱”——想要引入新功能,却可能破坏现有的稳定环境。
更糟糕的是,当项目规模越来越大,依赖关系越来越复杂时,这类版本冲突问题会变得愈发难以解决。
那么,为什么会出现这种情况?
我们又该如何优雅地解决包管理中的版本冲突问题呢?
别急,我写这篇文章的目的就是为了解决这个问题。
另外 ,我可以肯定的告诉你:
我已经在搜索引擎中找到了最佳的解决方案,你们只需要抄我的答案就行。
02
先说答案:正确做法是使用requirements.txt管理依赖。
什么意思呢?
简单来讲就是,我们先利用终端命令行输出,当前Python环境中安装的所有的第三方包,使用命令:
pip freeze > requirements.txt
这个命令运行成功之后,会生成一个txt文本文件,里面记录了所有的第三方包。
有了这个文件,我们在新的环境中就可以一键拷贝原环境中的所有第三方包,使用下面的命令即可:
pip install -r requirements.txt
如果你还不理解,那就直接按顺序在命令行终端中输入这些命令。
温馨提醒一下:
生成依赖清单的命令是在原Python环境中输入,当你拿到这个txt文件之后,再利用这个文件去安装依赖可以了。
代码如下:
1 | # 生成依赖清单(记录当前房间的所有物品) |
03
这里我不得不说一句,Python小白一定要按顺序学习Python,不要跳跃。
如果你前期学的知识不扎实,基础不牢固,那你可能后面会遇到很多奇奇怪怪的问题。
所以,如果你准备要系统学习一下Python,那么从我个人的角度来讲,我推荐你学习我们开发的给小白的《15讲 · Python入门课》。
这个入门课程专门为小白设计,每讲课程就5-6分钟,学习起来完全没压力,利用碎片化的时间就能掌握。
而且我们这个课程有配套的视频、代码以及答疑社群。
我始终相信一句话:搞学习,一个人可以学得很快,但一群人可以学得更牢固,更长远。
详情请扫描下方海报二维码下单。
购买后如果有任何问题,可以联系我咨询,我的微信号是:wfdev7。