第二章:环境准备——工欲善其事,必先利其器

说实话,我见过太多人一上来就写代码,结果卡在环境配置上半天。做量化交易,尤其是对接 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

安装步骤很简单:

  1. python.org 下载对应系统的安装包
  2. 安装时记得勾选 "Add Python to PATH"
  3. 打开终端验证: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,核心就三个库:requestswebsocketseth_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-keyseth-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 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你一看就明白:

环境准备知识体系 Python 3.10+ 安装 虚拟环境 venv pip 换源 三大核心依赖库 requests REST API 请求 websockets 实时行情推送 eth_account 链上签名 环境就绪 → 可以开始写代码了

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