繁体   English   中英

distutils不重新编译C扩展模块

[英]distutils does not recompile C extension modules

我正在尝试将distutils与包含以C语言编写的扩展名的Python模块一起使用。程序代码位于Linux服务器上,但是有时我会使用文件传输程序WinSCP从Windows计算机上载更改(在Notepad ++中完成编辑) 。 我注意到distutils通常不会在C代码中注意到这些更改(即,如果先前编译过代码,则python setup.py build不会触发gcc )。 检查服务器上的C源代码表明它确实已正确更新。 另一方面,使用像vim这样的文本编辑器直接在服务器上更改代码总是会导致python setup.py build重新编译更改的文件。 知道为什么上传更改的文件可能不会导致distutils重新编译它们吗?

谢谢。

编辑:在对此进行了进一步调查之后,如果我仅使用Makefile创建一个普通的C程序,则会注意到相同的问题。 因此,此问题看起来似乎不是distutils问题。

在查看distutils的源代码并查看其如何执行重建时,它看起来像在检查文件的时间戳,以确定文件是否过时。

您可以确定在winscp上传文件时时间戳更改吗? 否则,看起来build命令具有一个“ force”选项,无论如何都可以强制进行重建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM