ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

告别 Python 版本冲突噩梦!从新手到进阶的库版本管理终极方案

告别 Python 版本冲突噩梦!从新手到进阶的库版本管理终极方案 每个 开发者都踩过的坑你中了吗才成功运行的项目, 换了电脑就出现错误提示? 安装了新的库之后, 旧的项目直接停止运行? 教程里的代码完全相同, 却因为库版本不兼容, 怎么也运行不起来?别急这些致使崩溃场景出现的根源, 全都是库版本管理方面做得不妥善存在不同的项目, 它们对于库版本的需求有着极大差异, 直接进行全局安装库, 就好似在同一间屋子之内放入不同尺寸规格的家具, 冲突会成为必然得出来的结果。今日分享一套版本管理方案, 此方案涵盖从基础直至进阶, 并且无论面向怎样的新手入门, 还是进阶开发, 它均能够轻松化解高达百分之九十九这般比例的版本冲突之事真正达成“在一处进行配置, 于各个地方能使之运行”这般的状况一、基础方案用 venv 搭建独立虚拟环境新手首选在针对3.3以及高于3.3版本的开发者而言, venv属于那种最为轻量化的、也是最容易上手去操作的虚拟环境工具, 它不需要进行额外的安装动作, 是直接被内置放置在标准库当中的, 并且能够完美适配学习场景以及小型项目的开发过程呢核心原理每个项目都有如同 “独立运行沙盒” 般的虚拟环境, 于其中安装的库, 不会左右全局环境, 亦不会与其他项目的库版本产生冲突, 这就好比给每个项目配置了专属的 “库仓库”。对于Mac以及Linux通用的实操步骤, 其第一步是, 进入到项目文件夹。打开终端 / 命令提示符用cd命令切换到你的项目目录# Windows示例cd D:\\# Mac/Linux示例cd /Users/xxx//第二步创建虚拟环境输入命令创建名为venv的虚拟环境名字可自定义比如python -m venv venv项目文件夹在执行之后, 会有一个名为venv的目录多出来, 这个目录中有独立的解释器, 也有作为安装路径的库。第三步激活虚拟环境关键激活后终端会显示(venv)前缀代表进入专属环境需要注意避免踩坑的提醒是: 要是出现提示“对运行脚本加以禁止”这种情况, 那就以具备管理员权限的地位去打开 , 然后输入:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser第四步安装指定版本的库激活后安装的库仅在当前环境生效放心操作pip install numpy1.24.0 # 指定版本pip # 最新版本第五步退出虚拟环境开发完成后输入命令退出deactivate刚入门的新手要注意避坑指南, venv目录是不需要提交到Git里面的, 一定要在.里添加venv/, 这样才能防止上传那些多余的文件不同的项目需要分别去创建虚拟环境, 是千万别共用的, 不然就缺失了版本隔离的意义第二, 进阶的方案是这样的: 用.txt这种形式去管理项目的依赖关系。若讲虚拟环境是“专属仓库”, 那么.txt便是“货物清单”, 一一记录项目全部库的名称以及版本号着呢, 换电脑, 协作开发时都能够一键复现相同的那环境。为什么需要它当你运用2.0.3完成项目开发后, 同事安装最新版本2.1.0致使代码出现报错情况? 拥有了.txt, 此类问题便能够直接杜绝实操步骤第一步导出依赖清单激活虚拟环境后输入命令导出所有库和版本pip freeze requirements.txt优化技巧过滤系统自带包得到更干净的清单# Windowspip, 执行“pip wheel”命令, 将结果输出到.txt文件 , 以管道符连接并实现重定向。# Mac/Linuxpip, 通过grep命令将包含“pip”或者“wheel”的内容排除掉, 然后将结果输出到名为“.txt”的文件当中。导出后文件内容示例numpy1.24.02.0.33.7.1第二步一键安装依赖取得.txt之后, 启动虚拟环境, 键入命令让其自行安装全部指定版本的库。# 基础版pip -r .txt# 国内提速版清华镜像源pip -r .txt -i三、采用特殊的高阶方案, 借助 conda 去管理复杂的环境, 此环境是数据科学领域以及机器学习领域的首选环境。假如你指向的数据科学、机器学习领域, 时常去安装numpy、scipy这类依靠C/C编译的库, 那么conda相较于venv更为强大, 它既能管理库, 又能处置非系统依赖, 还能完全解决“安装失败”的痛点先装 轻量化首选conda常常会和别的东西捆绑在一起, 然而它的体积十分庞大, 鉴于此推荐安装这样一种仅仅只包含conda和另外那个东西, 既轻便又实用的版本:
返回列表