第二章:环境准备——工欲善其事,必先利其器
说实话,我见过太多人一上来就写代码,结果卡在环境配置上半天。做量化交易,尤其是对接 Hyperliquid 这种链上交易所,环境搞不定后面全是白搭。这一章,咱们就把 Python 环境从头捋一遍。
2.1 Python 3.10+ 安装
我个人习惯用 Python 3.10 或 3.11。为什么?因为 Hyperliquid 的 SDK 和 websocket 库在 3.10 以上跑得最稳。3.9 以下有些类型注解会报错,3.12 又太新,部分依赖还没跟上。
推荐版本:Python 3.10.11 或 3.11.5
安装步骤很简单:
- 去
python.org下载对应系统的安装包 - 安装时记得勾选 "Add Python to PATH"
- 打开终端验证:
python --version
注意:Windows 用户别用微软商店的 Python,那个路径经常出问题。我踩过这个坑,后来全用官网安装包了。
2.2 虚拟环境配置
做量化项目,虚拟环境是必须的。你想想看,不同项目依赖的库版本可能打架,比如这个项目用 requests 2.28,那个项目用 2.31,不隔离的话迟早出事。
我一般用 venv,Python 自带的,轻量又好用:
# 创建虚拟环境
python -m venv hyperliquid_env
# 激活(Windows)
hyperliquid_env\Scripts\activate
# 激活(Mac/Linux)
source hyperliquid_env/bin/activate
激活后终端前面会出现 (hyperliquid_env) 字样,说明环境已经切换了。
小技巧:我习惯把虚拟环境建在项目根目录下,取名 .venv,这样 IDE 会自动识别。别问我为什么用点开头——纯粹是为了隐藏它,看着清爽。
2.3 pip 换源——别让下载卡死你
国内连 PyPI 官方源,那速度……嗯,你懂的。我曾经等一个 pip install 等了五分钟,最后超时报错。后来我学乖了,直接换国内镜像。
永久换源(推荐):
# 阿里云源(我用得最多,稳定)
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 清华源(备选)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
临时换源(一次性的):
pip install requests -i https://mirrors.aliyun.com/pypi/simple/
避坑指南:我曾经换源后装了一个冷门库,结果镜像站没有同步,报 404。这时候用 pip install --no-index 回退到官方源就行。或者直接指定官方源:-i https://pypi.org/simple/
2.4 常用依赖库安装
对接 Hyperliquid,核心就三个库:requests、websockets、eth_account。咱们一个一个说。
2.4.1 requests——HTTP 请求利器
Hyperliquid 的 REST API 全靠它。发订单、查余额、看行情,都离不开。
pip install requests
装完后测试一下:
import requests
print(requests.__version__) # 我目前用 2.31.0
2.4.2 websockets——实时行情必备
做高频交易或者盯盘,你得用 WebSocket。Hyperliquid 的订单簿、成交数据都是实时推送的。
pip install websockets
注意:别装错了!有个库叫 websocket(不带 s),那是老版本,功能不全。一定要装 websockets(带 s)。我刚开始就搞混过,连不上服务器,排查了半天。
2.4.3 eth_account——链上签名核心
Hyperliquid 是链上交易所,所有交易都需要用以太坊私钥签名。这个库就是干这个的。
pip install eth_account
它依赖 eth-keys 和 eth-utils,会自动装好。验证一下:
from eth_account import Account
print(Account.create().address) # 生成一个随机地址,说明安装成功
2.5 一键安装脚本
为了省事,我写了个小脚本,把上面所有步骤串起来。你直接跑就行:
# install_deps.py
import subprocess
import sys
def install():
deps = ['requests', 'websockets', 'eth_account']
for dep in deps:
print(f"正在安装 {dep}...")
subprocess.check_call([sys.executable, '-m', 'pip', 'install', dep])
print("所有依赖安装完成!")
if __name__ == '__main__':
install()
运行:python install_deps.py
2.6 知识体系总览
下面这张图,把本章的核心逻辑串起来了。你一看就明白:
2.7 验证环境
装完别急着走。跑个完整测试,确保所有库都能正常导入:
# test_env.py
import sys
import requests
import websockets
from eth_account import Account
print(f"Python 版本: {sys.version}")
print(f"requests 版本: {requests.__version__}")
print(f"websockets 版本: {websockets.__version__}")
print(f"eth_account 版本: {Account.__module__}")
print("✅ 环境准备完成!")
如果没报错,恭喜你,环境搞定了。后面咱们就可以直接上手写代码了。
个人建议:把 test_env.py 放在项目根目录,每次换机器或者重装环境,先跑一遍这个脚本。省得后面 debug 半天发现是环境问题。
公众号:蓝海资料掘金营,微信deep3321