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 版本不兼容。嗯,这种坑踩一次就够了。

推荐版本: Python 3.10.x 或 3.11.x

安装方式很简单:

  • Windows: 去 python.org 下载安装包,记得勾选「Add Python to PATH」
  • macOS: 用 Homebrew 装 brew install python@3.11
  • Linux: 直接用系统包管理器,或者用 pyenv 管理多版本

装完之后,打开终端敲一下:

python --version

如果显示的是 Python 3.10.x3.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 可能会很慢。建议配置清华镜像源: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 的同时,把 numpyopenpyxl 也带上:

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 图,把咱们今天装的所有东西串起来了。你一看就明白它们之间的关系:

链上巨鲸分析开发环境架构 操作系统(Windows / macOS / Linux) Python 3.10 / 3.11 虚拟环境(venv)隔离项目 核心库 Web3.py(链上) Requests(API) Pandas(处理) NumPy(计算) 交互式分析工具 Jupyter Notebook / Jupyter Lab 分析成果输出 数据表格(Excel/CSV) | 可视化图表 | 分析报告

从下往上看:操作系统承载 Python,Python 上面跑着四个核心库,再往上是用 Jupyter 做交互分析,最后输出成果。每一层都依赖下面一层,缺一不可。

4.7 一键安装脚本

为了省事,我写了个一键安装脚本。你复制到终端跑一下,所有东西一次性装好:

pip install web3==6.20.3 requests pandas numpy openpyxl jupyter

如果你用的是虚拟环境,记得先激活再跑这行命令。

验证清单:
  1. python --version → 3.10.x 或 3.11.x
  2. python -c "from web3 import Web3; print(Web3.__version__)" → 6.20.3
  3. python -c "import requests; print(requests.__version__)" → 有版本号即可
  4. python -c "import pandas; print(pandas.__version__)" → 有版本号即可
  5. jupyter notebook → 浏览器能打开页面

全部通过?那你的开发环境就搭好了。后面咱们就可以正式开始抓巨鲸数据了。

避坑指南: 我曾经在 Windows 上遇到 web3.py 安装时报 Microsoft Visual C++ 14.0 is required。解决方案是去微软官网下载安装「Microsoft C++ Build Tools」。如果你也遇到,别慌,搜一下装好就行。

好了,环境搭完,咱们下节课见真章。

专注资料整理