在学习使用VSCode构建基于Django和机器学习的医疗保险价格预测过程中,遇到版本不匹配问题。我在Django项目中加载一个使用joblib库保存的机器学习模型MedicalInsuranceCost.pkl,错误提示中显示我的pkl文件可能来自一个scikit-learn的旧版本,因此我需要将我的环境更新或降级到与训练模型时相同的scikit-learn版本。
错误信息:正在尝试使用pickle加载一个scikit-learn决策树模型,但是加载时遇到了dtype(数据类型)不匹配的问题。
因为scikit-learn版本过高,错误信息显示我的scikit-learn版本需要降级到0.24.2。考虑到我的Python(3.11)和Numpy(1.4.1.post1)版本过高,全部降级会很麻烦。所以,根据以上问题,我打算使用conda 创建python3.9虚拟环境,然后在VSCode中配置Python解释器。
Anaconda的安装请参考:搭建机器学习课程实验平台(Anaconda安装&使用jupyter lab)
步骤如下:
(1)创建虚拟环境:
打开命令行终端(Win+R,输入cmd并回车)。
输入以下命令来创建一个新的虚拟环境,并指定Python版本为3.9:
conda create --name my_Django_env(自定义虚拟环境名字) python=3.9
(2)激活虚拟环境:
在Windows上,使用以下命令激活虚拟环境:
conda activate my_Django_env
(3)在VS Code中配置Python解释器:
打开VSCode。
打开你的Django项目。
使用快捷键Ctrl+Shift+P,然后输入Python: Select Interpreter来手动选择,选择完等待即可。
重新打开项目后,可看到VSCode右下角的Python解释器版本信息。
如果没有则快捷键Ctrl+Shift+P手动输入Python: Select Interpreter选择Python版本解释器。
(4)在虚拟环境中安装Django(如果你还没有安装的话):
在VS Code的终端(可以使用快捷键Ctrl+Shift+来打开)中,输入以下命令来安装Django:
pip install django==3.2.5
注意,此时你已经在my_Django_env虚拟环境中,所以pip会自动为这个环境安装Django。
同理,在你的项目中所用到的模块都要在虚拟环境中下载。
(5)相关命令:
conda activate my_Django_env -- 激活虚拟环境
python manage.py runserver -- 运行项目工程
conda deactivate -- 退出虚拟环境
如有错漏,欢迎指正。