第二章:开发环境搭建——Python环境配置、虚拟环境创建、依赖管理

好,咱们正式开始动手了。这一章我带你搭好开发环境。别小看这一步,我见过太多项目后期出问题,根源就是环境没弄对。你想想看,代码写得再好,跑不起来也是白搭。

2.1 Python版本选择与安装

我个人习惯用Python 3.9或3.10。为什么?因为pydicom和hl7apy这两个库,在3.11以上版本偶尔会有点小脾气。我在项目中遇到过,3.11刚出来时,hl7apy的某个依赖包还没适配,折腾了我一下午。

建议你装Python 3.9.13,稳定,兼容性好。下载地址我就不贴了,去官网找就行。安装时记得勾选「Add Python to PATH」,这个忘了后面会很麻烦。

注意: 别装Python 2.x了,2020年就停止维护了。现在还用Python 2,说出去会被同行笑话的。

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) 字样,说明你已经在虚拟环境里了。这时候你装任何库,都只会装到这个环境里。

小技巧: 我习惯把虚拟环境命名为 venvmedenv,简单好记。别起什么 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

一键装完所有依赖。方便吧?

核心要点: 每次项目开始前,先建虚拟环境,装好依赖,导出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("所有库导入成功!环境配置完成。")

跑一下,如果没报错,说明环境搭好了。如果报错,多半是版本问题,换个版本试试。

避坑指南: 我曾经遇到过pydicom和numpy版本不兼容的情况。pydicom 2.3.0需要numpy≥1.21,但如果你装了numpy 1.20,就会报错。解决办法:先升级numpy,再装pydicom。

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图像是怎么被解析成数字的。做好准备,有意思的东西要来了。