4. 开发环境搭建:Python环境、Web3.py、Requests、Pandas、Jupyter Notebook安装
说实话,很多人在链上数据分析这条路上半途而废,不是因为智商不够,而是卡在了环境搭建这一步。我见过太多人兴致勃勃想抓巨鲸数据,结果装个库报一堆红错,心态直接崩了。
今天咱们就把这事彻底搞定。你跟着我走一遍,以后换电脑、重装系统,都能十分钟内把环境拉起来。
4.1 Python环境:选对版本,少走弯路
我个人习惯用 Python 3.10 或 3.11。为什么不是最新的 3.12 或 3.13?
因为很多链上相关的库,比如 web3.py 的某些旧版本,对最新 Python 的支持会有延迟。我在项目中遇到过,装好之后跑起来报 ImportError,查了半天发现是 Python 版本不兼容。嗯,这种坑踩一次就够了。
安装方式很简单:
- Windows: 去 python.org 下载安装包,记得勾选「Add Python to PATH」
- macOS: 用 Homebrew 装
brew install python@3.11 - Linux: 直接用系统包管理器,或者用 pyenv 管理多版本
装完之后,打开终端敲一下:
python --version
如果显示的是 Python 3.10.x 或 3.11.x,恭喜你,第一步搞定。
python -m venv venv 创建,用 source venv/bin/activate 激活。
4.2 Web3.py:连接区块链的钥匙
Web3.py 是我们抓取链上数据的核心工具。说白了,它就是 Python 和以太坊节点之间的翻译官。
安装命令就一行:
pip install web3
但这里有个坑——版本问题。我曾经在某个项目里直接 pip install web3,结果装了个 7.x 版本,跟项目里的旧代码完全不兼容。后来我学乖了,指定版本安装:
pip install web3==6.20.3
为什么推荐 6.x?因为 7.x 改了不少 API,很多网上现成的教程还是基于 6.x 写的。你跟着课程走,用 6.20.3 最稳。
装完之后,验证一下:
python -c "from web3 import Web3; print(Web3.__version__)"
如果输出版本号,说明装好了。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
4.3 Requests:HTTP请求的瑞士军刀
链上数据不只有链上,很多时候我们需要从中心化 API 拿数据,比如 Etherscan、CoinGecko、Glassnode 这些。这时候 Requests 就派上用场了。
安装:
pip install requests
这个库没什么版本陷阱,直接装最新的就行。我平时写脚本抓数据,90% 的 HTTP 请求都用它搞定。
简单测试一下:
python -c "import requests; r = requests.get('https://api.github.com'); print(r.status_code)"
如果输出 200,说明网络通,库也好使。
4.4 Pandas:数据处理的灵魂
从链上抓回来的数据,通常是 JSON 格式的原始数据。你要做分析,必须把它变成表格。Pandas 就是干这个的。
安装:
pip install pandas
我个人习惯装 pandas 的同时,把 numpy 和 openpyxl 也带上:
pip install pandas numpy openpyxl
openpyxl 是用来读写 Excel 文件的。你想想看,分析完巨鲸数据,总得导出给团队看吧?Excel 是最通用的格式。
验证:
python -c "import pandas as pd; print(pd.__version__)"
4.5 Jupyter Notebook:交互式分析的利器
做链上数据分析,我强烈推荐用 Jupyter Notebook。为什么?
- 你可以一段一段地跑代码,随时看中间结果
- 图表直接嵌在代码下面,不用来回切窗口
- 写文档和写代码可以混在一起,方便记录思路
安装:
pip install jupyter
启动:
jupyter notebook
浏览器会自动打开一个页面,点右上角的「New」→「Python 3」就能新建一个笔记本。
notebooks/ 文件夹,所有 .ipynb 文件都放里面。这样代码和数据文件分开,结构清晰。
4.6 一张图看懂整个环境
下面这张 SVG 图,把咱们今天装的所有东西串起来了。你一看就明白它们之间的关系:
从下往上看:操作系统承载 Python,Python 上面跑着四个核心库,再往上是用 Jupyter 做交互分析,最后输出成果。每一层都依赖下面一层,缺一不可。
4.7 一键安装脚本
为了省事,我写了个一键安装脚本。你复制到终端跑一下,所有东西一次性装好:
pip install web3==6.20.3 requests pandas numpy openpyxl jupyter
如果你用的是虚拟环境,记得先激活再跑这行命令。
python --version→ 3.10.x 或 3.11.xpython -c "from web3 import Web3; print(Web3.__version__)"→ 6.20.3python -c "import requests; print(requests.__version__)"→ 有版本号即可python -c "import pandas; print(pandas.__version__)"→ 有版本号即可jupyter notebook→ 浏览器能打开页面
全部通过?那你的开发环境就搭好了。后面咱们就可以正式开始抓巨鲸数据了。
web3.py 安装时报 Microsoft Visual C++ 14.0 is required。解决方案是去微软官网下载安装「Microsoft C++ Build Tools」。如果你也遇到,别慌,搜一下装好就行。
好了,环境搭完,咱们下节课见真章。