2. 环境搭建与工具准备:Python环境、Dash框架安装、Pandas与Plotly库安装
好,咱们正式开始动手了。
说实话,很多初学者一上来就急着写代码,结果装个库报错半天,心态直接崩了。我当年也踩过这个坑——记得第一次装Dash的时候,因为Python版本不对,折腾了一整个下午。所以这一章,咱们先把地基打牢。
2.1 Python环境:选对版本,少走弯路
我个人习惯用Python 3.8到3.11之间的版本。为什么?因为Dash和Plotly在这些版本上最稳定。你非要用3.12也行,但有些老库可能还没适配。
怎么检查你当前的Python版本?打开终端或命令行,敲一行命令:
python --version
如果显示的是 Python 3.8.x 或更高,那就没问题。如果版本太低,我建议你直接装个新的。
我个人推荐用 Anaconda 来管理Python环境。它自带了很多数据科学库,省得你一个个装。当然,如果你喜欢轻量级,用 venv 或 pipenv 也行。
创建一个新环境,命令如下:
conda create -n dash_env python=3.9
conda activate dash_env
嗯,这里要注意:环境名可以随便起,但最好别用中文,有些工具对中文路径支持不好。
2.2 Dash框架安装:一行命令搞定
Dash是Plotly公司出品的Web框架。说白了,它让你用纯Python写数据仪表盘,不用碰HTML和JavaScript。是不是很爽?
安装Dash非常简单:
pip install dash
如果你用的是Anaconda环境,也可以用:
conda install -c conda-forge dash
我曾经在一个项目里,因为网络问题装了一上午没成功。后来发现是公司内网限制了PyPI源。解决办法是换国内镜像:
pip install dash -i https://pypi.tuna.tsinghua.edu.cn/simple
pip list | grep dash 检查是否装上了。如果看到 dash、dash-core-components、dash-html-components 这几个包,就说明成功了。
2.3 Pandas与Plotly库安装:数据处理双雄
这两个库是咱们做货架状态可视化的核心工具。
- Pandas:处理表格数据,比如读取Excel、清洗数据、做统计。
- Plotly:画交互式图表,比如柱状图、折线图、热力图。
安装命令:
pip install pandas plotly
或者一起装:
pip install pandas plotly dash
你想想看,这三个库加起来也就几十MB,但能干的事可不少。我在做仓库管理系统时,就是用Pandas读取货架传感器数据,然后用Plotly画出实时热力图,最后用Dash展示在屏幕上。
| 库名 | 推荐版本 | 说明 |
|---|---|---|
| Python | 3.8 - 3.11 | 稳定,兼容性好 |
| Dash | 2.14+ | 支持最新组件 |
| Pandas | 2.0+ | 性能提升明显 |
| Plotly | 5.18+ | 图表更丰富 |
2.4 验证安装:跑个Hello World
光装完不测试,等于白装。咱们写个最简单的Dash应用,看看能不能跑起来。
# app.py
import dash
from dash import html
app = dash.Dash(__name__)
app.layout = html.H1("Hello, 货架状态仪表盘!")
if __name__ == '__main__':
app.run_server(debug=True)
保存文件,然后在终端运行:
python app.py
打开浏览器,访问 http://127.0.0.1:8050。如果看到大大的「Hello, 货架状态仪表盘!」,恭喜你,环境搭建成功了!
ModuleNotFoundError: No module named 'dash',说明你没激活正确的环境。检查一下终端里是不是在 dash_env 环境下。
2.5 避坑指南:我踩过的三个坑
最后,分享几个我亲身经历过的坑,你遇到了可以少走弯路:
- 坑一: 我曾经在Windows上装Dash,结果报错说缺少C++编译工具。解决办法是装
Microsoft C++ Build Tools,或者直接用Anaconda装。 - 坑二: Pandas读取Excel文件时,如果文件路径包含中文,可能会报编码错误。我后来统一把路径改成英文,或者用
encoding='utf-8'参数。 - 坑三: Plotly图表在Jupyter Notebook里显示正常,但放到Dash里就空白。原因是Dash需要
dcc.Graph组件来包裹图表,不能直接输出Plotly的figure对象。
好了,环境搭建就到这里。下一章咱们开始设计货架状态的数据模型,那才是真正有意思的部分。
公众号:蓝海资料掘金营,微信deep3321