我使用的python版本:python3.7.5 环境:pycharm
学习sklearn时想要看看决策树部分的源码,结果发现找不到包含源代码的.pyx文件。
在sklearn中,底层代码是由cpython编写的。cpython生成的文件格式主要有三种:.pxd .pyd .pyx
以下是我遇到问题和解决问题的过程:
在项目中找到了venv/Lib/site-packages/sklearn/tree 文件夹,如图:
可见,这里只有.pxd文件和.pyd文件,没有源代码文件.pyx。
查看_tree.pxd文件,可见决策树中一些结构的声明,但具体编写实现的代码应在_tree.pyx文件中。
那么_tree.pxd文件在哪呢。
我在python的安装目录下,项目的目录下都没有找到。
问题的解决
最终我在github上sklearn的官方开源项目里找到了完整的源代码。
分析得,我们在导入sklearn库时,直接导入了编译转换好的,能为python所使用的.pyd文件,而不是cpython所写成的源代码.pyx。