环境搭建:Python 3.10+ 环境安装与虚拟环境配置(venv/pyenv)

做量化交易,说白了就是跟数据打交道。而Python,就是我们手里的那把刀。

我个人习惯,先把刀磨利了再干活。环境搭建这事,看着简单,但坑不少。我记得刚入行那会儿,直接在系统Python里装包,结果搞崩了系统依赖,重装了三次系统……嗯,从那以后,我再也不敢乱来了。

为什么非得用 Python 3.10+?

你可能要问:Python 3.6 不行吗?3.8 不行吗?

我直接说结论:外汇量化策略里,很多新库已经放弃对低版本的支持了。比如 pandas 2.0numpy 1.25,还有我们后面要用的 backtrader2ccxt 的最新版,都要求 3.9 以上。

3.10 有个我很喜欢的东西——结构模式匹配(match-case)。写策略信号处理时,代码能少一半。不信你试试。

核心原则:永远不要用系统自带的 Python 做开发。隔离!隔离!再隔离!

第一步:安装 Python 3.10+

Windows 用户

去官网下载安装包,这个不用我教了吧?但有个细节要注意:

  • 安装时勾选「Add Python to PATH」——我见过太多人忘了这步,后面命令行里敲 python 没反应,急得跳脚。
  • 安装路径不要带中文和空格。比如 C:\Python310 就挺好。

macOS 用户

macOS 自带的 Python 是 2.7 或者 3.8,别用。我建议用 Homebrew 装:

brew install python@3.10

装完记得检查一下:

python3 --version
# 输出:Python 3.10.x

Linux 用户

Ubuntu/Debian 用户看这里:

sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-dev

CentOS/RHEL 用户可能需要编译安装,或者用 deadsnakes 源。我个人建议直接用 pyenv,后面会讲。

小技巧:装完后在终端输入 python --version 如果还是旧版本,试试 python3 --version。Windows 用户可能需要重启终端。

第二步:pyenv——Python 版本管理神器

做量化交易,你手上可能同时维护好几个策略。有的策略依赖 Python 3.8,有的需要 3.10,还有的必须用 3.11 的新特性。怎么办?

这时候 pyenv 就派上用场了。它让你能在同一台机器上安装多个 Python 版本,随时切换。

安装 pyenv

macOS/Linux:

curl https://pyenv.run | bash

装完后,记得把下面几行加到 ~/.bashrc~/.zshrc 里:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Windows:pyenv-win,在 PowerShell 里运行:

Invoke-WebRequest -Uri https://pyenv.run -OutFile pyenv-installer.ps1
.\pyenv-installer.ps1

常用命令

命令 作用
pyenv install --list 查看可安装的 Python 版本
pyenv install 3.10.12 安装指定版本
pyenv versions 查看已安装的版本
pyenv global 3.10.12 设置全局默认版本
pyenv local 3.8.18 在当前目录设置局部版本
我曾经踩过的坑:在 macOS 上用 pyenv 安装 Python 3.10 时,提示缺少 zlib 依赖。解决方案是先装 xcode-select --install,或者 brew install zlib。Linux 上则要装 libssl-devlibbz2-dev 等。

第三步:venv——项目隔离的基石

pyenv 管的是 Python 版本,而 venv 管的是项目依赖

你想想看,策略A需要 pandas 1.5,策略B需要 pandas 2.0。如果装在一起,早晚出问题。venv 就是给每个项目建一个独立的小房间,互不干扰。

创建虚拟环境

# 先切换到项目目录
cd my_forex_strategy

# 创建虚拟环境(python3.10 是当前使用的版本)
python3.10 -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate

# macOS/Linux:
source venv/bin/activate

激活后,终端前面会出现 (venv) 字样。这时候你安装的所有包,都只在这个项目里生效。

验证是否成功

which python
# 应该显示项目目录下的 venv/bin/python

pip list
# 应该只有最基本的几个包
我的习惯:每个量化策略项目,我都会在根目录下建一个 requirements.txt 文件。装完包后,用 pip freeze > requirements.txt 把依赖锁死。这样换机器部署时,直接 pip install -r requirements.txt 就完事了。

第四步:pyenv + venv 组合拳

这两个工具配合起来用,效果最好。我一般这么操作:

# 1. 先指定项目用的 Python 版本
pyenv local 3.10.12

# 2. 创建虚拟环境(会自动用 3.10.12)
python -m venv venv

# 3. 激活
source venv/bin/activate

# 4. 安装量化常用库
pip install pandas numpy matplotlib
pip install backtrader ccxt ta-lib
pip install jupyter notebook

这样,你的项目就同时绑定了 Python 版本和依赖包。换台电脑,只要把项目文件夹拷过去,重复上面步骤就行。

知识体系总览

下面这张图,概括了本章的核心逻辑:

Python 量化环境搭建知识体系 目标:稳定、隔离、可复现 Python 3.10+ 基础运行时 pyenv 版本管理 venv 依赖隔离 安装 Python 3.10+ • 官网下载 / Homebrew • apt / yum 安装 • 验证版本 配置 pyenv • 安装 pyenv • pyenv install 3.10.12 • pyenv local / global 创建 venv • python -m venv venv • source venv/bin/activate • pip install 依赖 pyenv + venv 组合拳 版本隔离 + 依赖隔离 = 完美开发环境 最终产出:可复现的量化策略开发环境

避坑指南

最后,分享几个我实战中遇到的坑:

  • 路径问题:Windows 上如果 Python 安装路径有空格,venv 激活脚本可能报错。解决办法:重装到无空格的路径。
  • pip 版本过旧:新装的 Python,pip 版本可能比较老。建议先升级:pip install --upgrade pip
  • TA-Lib 安装:这个库在 Windows 上比较麻烦。我建议直接下载预编译的 whl 文件安装,别自己编译,太折腾。
  • 虚拟环境嵌套:不要在已经激活的 venv 里再执行 python -m venv,会乱套。
重要提醒:每次开始写策略前,先确认终端前面有 (venv) 标识。没有的话,所有包都会装到全局,到时候哭都来不及。

好了,环境搭好了,后面就可以安心写策略了。记住一句话:环境搞得好,下班走得早


专注资料整理