第二章:开发环境搭建——Python环境配置、虚拟环境创建、依赖管理
好,咱们正式开始动手了。这一章我带你搭好开发环境。别小看这一步,我见过太多项目后期出问题,根源就是环境没弄对。你想想看,代码写得再好,跑不起来也是白搭。
2.1 Python版本选择与安装
我个人习惯用Python 3.9或3.10。为什么?因为pydicom和hl7apy这两个库,在3.11以上版本偶尔会有点小脾气。我在项目中遇到过,3.11刚出来时,hl7apy的某个依赖包还没适配,折腾了我一下午。
建议你装Python 3.9.13,稳定,兼容性好。下载地址我就不贴了,去官网找就行。安装时记得勾选「Add Python to PATH」,这个忘了后面会很麻烦。
2.2 虚拟环境——为什么需要它?
说白了,虚拟环境就是给你的每个项目一个独立的小房间。你在这个房间里装什么库,都不会影响到别的项目。
我曾经接手过一个项目,对方把所有依赖都装在系统Python里。结果A项目要pandas 1.0,B项目要pandas 2.0,两个项目一跑就炸。嗯,从那以后我每个项目必建虚拟环境。
2.3 创建虚拟环境(venv)
Python自带的venv模块就够用了。打开终端,进到你的项目目录,执行:
# 创建虚拟环境
python -m venv medenv
# 激活虚拟环境
# Windows:
medenv\Scripts\activate
# macOS/Linux:
source medenv/bin/activate
激活后,终端前面会出现 (medenv) 字样,说明你已经在虚拟环境里了。这时候你装任何库,都只会装到这个环境里。
venv 或 medenv,简单好记。别起什么 my_awesome_environment_v1_final 这种名字,自己都记不住。
2.4 依赖管理——pip与requirements.txt
咱们这个课程要用到几个核心库:
| 库名 | 用途 | 建议版本 |
|---|---|---|
| pandas | 数据处理,表格操作 | ≥1.5.0 |
| numpy | 数值计算,数组操作 | ≥1.24.0 |
| pydicom | DICOM医学影像解析 | ≥2.3.0 |
| hl7apy | HL7医疗消息解析 | ≥1.3.0 |
| flask | Web服务,API接口 | ≥2.3.0 |
安装命令很简单:
pip install pandas numpy pydicom hl7apy flask
装完之后,把依赖导出到文件:
pip freeze > requirements.txt
这个文件就是你的「依赖清单」。以后换电脑或者给别人部署,直接:
pip install -r requirements.txt
一键装完所有依赖。方便吧?
2.5 验证环境是否正常
装完之后,咱们验证一下。写个简单的测试脚本:
import pandas as pd
import numpy as np
import pydicom
import hl7apy
import flask
print("pandas版本:", pd.__version__)
print("numpy版本:", np.__version__)
print("pydicom版本:", pydicom.__version__)
print("flask版本:", flask.__version__)
print("所有库导入成功!环境配置完成。")
跑一下,如果没报错,说明环境搭好了。如果报错,多半是版本问题,换个版本试试。
2.6 关于hl7apy的特殊说明
hl7apy这个库有点特殊。它默认只支持HL7 v2.x版本,不支持v3。咱们课程主要用v2.x,所以够用了。
另外,hl7apy的文档写得不太好。我刚开始用的时候,翻文档翻得头疼。后来发现,直接看源码反而更清楚。嗯,这也是个经验——有时候文档不如源码靠谱。
2.7 开发工具推荐
工欲善其事,必先利其器。我推荐用VS Code,免费,插件丰富。装这几个插件:
- Python(微软官方)
- Pylance(代码补全)
- Jupyter(交互式编程,调试数据很方便)
当然,你用PyCharm也行。我个人觉得VS Code轻量,启动快,适合医疗设备这种需要频繁调试的场景。
2.8 本章小结
好,到这步,你的开发环境就搭好了。咱们回顾一下:
- 装了Python 3.9.13
- 建了虚拟环境medenv
- 装了pandas、numpy、pydicom、hl7apy、flask
- 导出了requirements.txt
- 验证了环境正常
下一章,咱们开始真正接触DICOM数据。你会看到一张CT图像是怎么被解析成数字的。做好准备,有意思的东西要来了。