Mac M1 安装 VnPy 踩坑记:Python 多版本问题与解决方案

5 阅读6分钟

在 AI 时代,我如何从零开始学习量化交易

Mac M1 上安装 VnPy 的踩坑记 — 一个学徒的量化交易之旅 Day 1

大家好,我是一名刚毕业的学生,因为一场梦,决定学习量化交易,希望通过代码来理解金融市场。这是我的学习日记的第一篇。

在《show your work》中,我意识到分享学习过程的重要性,常常我们会把注意力放在结果上,而忽略了过程中的点滴积累,现在这个时代,进入了销售个人品牌的时代,分享过程能帮助我建立个人影响力,形成一个正向反馈,督促我持续学习。

作为一个初学者,我希望能制作出一个量化软件,但过程中遇到了不少问题,希望通过记录这些问题和解决方案,帮助其他有类似需求的人。

永远保持一颗“学徒”心态,敢于出糗,能够分享自己的不足,帮助更多的初学者少走弯路。

一边学一边输出,让反馈加速我的成长 费曼学习法告诉我们,输出是最好的学习方式。通过写作和记录,我可以更好地理解和巩固所学知识,站在不同的视角审视自己的学习过程,也有助于自己形成系统的知识体系。

这篇文章适合谁?

  • 有一点 Python 基础的初学者 或者说是想要来学习量化交易的编程小白也可以,ai时代的到来,是一场秩序的重新洗牌,学会学习,学会记录自己学习,学会分享,是我们在面对ai时代潮流所要具备的。

  • 想学量化交易但不知道怎么开始的人 认为量化交易很复杂,不知道从哪里入手的朋友,起初我也是这样,经过一段时间的摸索,我才知道,ai越全能,使用者越得知道得更多,会使得使用过程得心应手,没有问题,不会提问的同学会在这个时代被拉开巨大差距。

  • 遇到类似问题需要参考的人 虽然说啥问题都能问 ai,但有些问题 ai 也不一定能帮你解决,我觉得就是人情味吧,毕竟 ai 还不能够有很强的“活人感”,文字的记录何尝不是一种陪伴呢?

什么是 VnPy?为什么选择它?

VnPy 是一个开源的 Python 量化交易框架,也是目前github上 star 数最高的量化交易框架。它支持多种交易所和数据源,功能强大且易于扩展。选择 VnPy 的原因有以下几点:

  • 开源免费:VnPy 是完全开源的,任何人都可以免费使用和修改它的代码。
  • 社区活跃:VnPy 拥有一个活跃的社区,用户可以在论坛和 GitHub 上交流经验,解决问题。
  • 功能丰富:VnPy 提供了丰富的功能模块,包括数据处理、策略开发、回测和实盘交易等,满足不同用户的需求。
    等等优势使得我选择了 VnPy 作为我的量化交易学习和实践工具,希望通过它来实现我的量化交易梦想,同时也希望自己的记录能与更多小伙伴形成链接,共同进步。

安装的过程(和我的挣扎)

昨天我决定安装 VnPy,心想应该很简单...结果并没有。

第一次运行 python -m pip install vnpy,看到终端一堆红字飘过。当时我愣住了,心想:"这...是成功了还是失败了?"

安装完成后,我兴奋地运行验证代码:

python3 -c "import vnpy; print(vnpy.__version__)"

结果终端返回了这样的错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'vnpy.trader'

我问 AI:"ModuleNotFoundError 是什么意思?" AI 给了我答案,但我按照做了还是不行。更诡异的是,有时候 import vnpy 不报错,但一导入 vnpy.trader 就崩溃。

这时候我意识到,问题不在 AI 的回答,而在于我不知道问题的根源在哪里。AI 只能根据我的描述给建议,但如果我自己都说不清楚问题,AI 也帮不了我...

然后我不断的尝试,当我找不到问题的时候,我就让ai来帮我一步步排查,虽然ai的并不能一针见血的指出来问题的关键,但他会把所有可能性给出来,让我一个个去排查。

我发现现在ai的发展真的突飞猛进,怕的不是有问题,怕的是问不出问题,于是我开始学会如何向 ai 提问,经过几次尝试,我终于成功安装了 conda 和 Python 3.9,这是我之前想到不敢想的事情,ai时代的到来,真的是让人又爱又恨。

再后来,又遇到文件路径的问题一次次报错,然后我又问ai每次都给不到真实的解决方案,我意识到如果自己本身不知道问题所在,ai也帮不了我,于是我开始学会自己分析问题,这让我明白,我如果希望用好ai,我需要比ai更加了解我所面对的问题,然后把一些重复性或者整理性的工作交给ai去做,关键还在于自己的大脑也需要升级。

随着不断的尝试,我终于发现问题所在:原来 Mac 上有多个 Python 版本! python3 指向 Python 3.9,而 VnPy 被装在了 Python 3.13 里。当我用对的命令时,终端输出了这样的结果:

$ python << 'EOF'
from vnpy.trader.engine import MainEngine
print("✅ VnPy 完全安装成功!")
EOF

✅ VnPy 完全安装成功!

那一刻,我心里五味杂陈,庆幸自己终于跑通了这个模式,不知所措的是,这都是ai的功劳,我觉得ai真的是一个很强大的工具,会有点后怕。

学到的不仅是技术,还有...

  • 解决问题的能力:在安装过程中遇到的各种问题让我学会了如何分析和解决问题,这种能力在未来的学习和工作中都会非常有用。
  • 耐心和坚持:安装过程中的挫折让我明白了耐心和坚持的重要性,只有不断尝试和学习,才能克服困难。
  • 学习新技术的能力:通过安装 VnPy,我学会了如何使用 conda 和管理 Python 环境,这些技能对我未来的编程学习非常有帮助。
  • AI 时代的生存法则:AI 不是万能的,它需要你提供足够清晰的问题。你越懂,AI 越有用。

写在最后

这是我量化交易学习的第一天,也是我学习日记的第一篇。

如果你也在学习量化交易,或者也在和 AI 一起成长,欢迎留言交流。我们都是学徒,一起进步。


附:给遇到类似问题的朋友

如果你在 Mac M1 上安装 VnPy 遇到 ModuleNotFoundError,检查一下:

  1. 你用的是 python 还是 python3
  2. 运行 python --versionpython3 --version,看看版本是否一致
  3. 确保用 python -m pip install vnpy(而不是 pip3 install vnpy

希望能帮到你。

#python#vnpy#量化交易#环境配置