其他分享
首页 > 其他分享> > 修改大型cython项目的工作流

修改大型cython项目的工作流

作者:互联网

我需要对scikit-learn进行一些修改,包括对cython代码的更改.

我以前没有研究过cython,所以可以提供一些指导-到目前为止,我已经将所有依赖项放入python virtualenv中,并克隆并安装了sklearn git.

现在,有什么好的方法可以修改.pyx文件?我应该进行修改然后重新安装以查看效果吗?还是改成建筑?

有什么方法可以避免重新编译所有未更改的内容?

我听说过import pyximport; pyximport.install(),但对我来说,这会导致sklearn->出现编译错误.有没有办法确保它使用与成功运行的Makefile相同的选项?

总的来说,我正在寻找有关如何修改大型Cython项目的指南,而无需花费数十年的时间来等待未修改的文件重新编译.

解决方法:

你可以简单地奔跑,

python setup.py develop

每次修改后.与install命令不同,此命令不会复制任何文件,只会创建指向工作目录的符号链接.它还将自动构建所有必要的扩展,等效于

python setup.py build_ext --inplace

如果您在项目中更改了Cython文件,则下次您运行developer命令时,将仅重新编译那些文件.

pyximport模块非常适合独立的Cython函数.但是,对于具有多个文件的更复杂的项目,上述方法可能会更简单.

标签:scikit-learn,cython,virtualenv,workflow,python
来源: https://codeday.me/bug/20191120/2040419.html