3、Python环境准备:安装pandas、numpy、requests、websocket-client库,配置虚拟环境

做量化交易,尤其是外汇这种高频数据,Python环境就是你的作战指挥室。我见过太多人一上来就pip install,结果项目做到一半发现依赖冲突,整个环境崩掉。嗯,今天我们就来把这个基础打牢。

3.1 为什么非要搞虚拟环境?

说白了,虚拟环境就是给你的每个项目一个独立的小房间。你在A项目里装pandas 1.5,在B项目里装pandas 2.0,它们互不干扰。我曾经有一次在服务器上同时跑两个策略,一个依赖旧版numpy,一个依赖新版,结果两个都报错——从那以后,我每个项目必建虚拟环境。

核心原则:一个项目,一个虚拟环境,一套依赖。别偷懒。

3.2 创建虚拟环境(两种方式)

我个人习惯用Python自带的venv模块,轻量、干净。如果你喜欢用conda,也可以,但这里我们以venv为例。

# 打开终端,进入你的项目目录
cd forex_microdata_project

# 创建虚拟环境(名字叫 .venv 是行业惯例)
python -m venv .venv

你想想看,这个命令执行完,目录下就多了一个.venv文件夹。里面藏着Python解释器和pip,完全独立于系统环境。

3.3 激活虚拟环境

不同系统激活方式不一样,我列个表,你对照着来:

操作系统 激活命令
Windows (CMD) .venv\Scripts\activate
Windows (PowerShell) .venv\Scripts\Activate.ps1
macOS / Linux source .venv/bin/activate

激活成功后,终端前面会出现(.venv)字样。看到这个,就说明你已经在虚拟环境里了。

小技巧:在VS Code里,你可以直接选择Python解释器为.venv里的那个,终端会自动激活。省事。

3.4 安装核心库

好,环境激活了,现在开始装东西。我们外汇数据获取需要四个库:

  • pandas:数据处理的核心,没有它寸步难行
  • numpy:数值计算,pandas的底层依赖
  • requests:拉取REST API数据,比如历史K线
  • websocket-client:接收实时行情,做高频必备

安装命令很简单:

pip install pandas numpy requests websocket-client

这里有个坑——我建议你指定版本号。为什么呢?因为最新版不一定最稳定。比如pandas 2.0刚出的时候,很多旧代码跑不了。我个人习惯用这个组合:

pip install pandas==1.5.3 numpy==1.24.3 requests==2.31.0 websocket-client==1.6.3

注意:如果你用的是Apple Silicon芯片(M1/M2/M3),装numpy可能会报错。解决方案是装pip install numpy --no-binary :all:,或者直接用conda。

3.5 验证安装

装完了,怎么知道对不对?写个简单脚本测试一下:

# test_env.py
import pandas as pd
import numpy as np
import requests
import websocket

print(f"pandas version: {pd.__version__}")
print(f"numpy version: {np.__version__}")
print(f"requests version: {requests.__version__}")
print(f"websocket version: {websocket.__version__}")
print("环境准备完成!")

运行python test_env.py,如果四个版本号都正常打印出来,恭喜你,环境搞定了。

3.6 冻结依赖(好习惯)

项目做完,或者要部署到服务器,你需要记录当前环境的所有依赖。用这个命令:

pip freeze > requirements.txt

这样别人拿到你的项目,只需要pip install -r requirements.txt就能一键复现环境。我在团队协作中吃过亏——有次同事的代码在我机器上跑不起来,查了半天发现是依赖版本不一致。从那以后,每个项目我都保留requirements.txt。

3.7 本章知识体系

下面这张图,帮你理清整个环境准备的流程:

Python环境准备流程 1. 创建虚拟环境 python -m venv .venv 2. 激活虚拟环境 source .venv/bin/activate 3. 安装核心库 pip install ... 安装的四个核心库 pandas 数据处理 numpy 数值计算 requests REST API websocket 实时行情 ✅ 环境准备完成,可以开始获取数据

3.8 避坑指南

最后,分享几个我踩过的坑:

  • pip版本太旧:装库前先升级pip,pip install --upgrade pip。旧版pip有时候解析依赖会出错。
  • 不要用sudo pip:在Linux/macOS上,千万别用sudo pip install。这会污染系统环境,而且权限问题很烦。用虚拟环境就没这烦恼。
  • 网络问题:如果你在国内,直接pip可能很慢。加个镜像源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
  • Python版本:我建议用Python 3.9或3.10。3.11以上有些库还没完全适配,3.8以下又太老。3.9是个稳妥的选择。

好了,环境准备就到这里。记住,基础打牢了,后面写代码才顺手。你想想看,如果连环境都搞不定,还谈什么量化交易?


公众号:蓝海资料掘金营,微信deep3321