写量化策略时,我们经常需要查看或临时修改第三方库的源码——调试一个回测逻辑、微调某个指标计算。但库到底装在磁盘哪里?是不是还得去site-packages里慢慢翻?其实 Python 自带两个“导航工具”,可以秒定位库的源码位置:
方法一:__file__ 属性(最精准)
在代码中直接打印模块的 __file__:
import vnpy_ctastrategy.backtestingprint(vnpy_ctastrategy.backtesting.__file__)
运行后输出完整路径,例如:C:\veighna\Lib\site-packages\vnpy_ctastrategy\backtesting.py
然后就可以直接用编辑器打开这个文件进行修改或调试。
方法二:pip show 命令(无需写代码)
打开终端(命令提示符),输入:
pip show vnpy_ctastrategy
查看 Location: 那一行,得到库的安装根目录,再拼接上模块的相对路径即可。
💡 临时修改源码的注意事项
- 升级会丢失修改 – 下次
pip install -U 会覆盖你的改动。建议在改动的代码行加上 # modified by me 注释。 - 影响全局 – 所有使用该环境的项目都会受影响。如果是开发调试,可以接受;长期定制建议 fork 或继承。
- 更优雅的方式 – 通过继承原类重写方法,或者使用
monkey patch 在运行时替换函数。
掌握了这两个方法,以后找库源码就像查字典一样简单,再也不需要靠“猜”了。