您现在的位置是:首页 > 开发类 > 问答问答

distutils不会重新编译C扩展模块

2021-11-16 06:54:52问答人已围观

简介我正在尝试将distutils与包含用C编写的扩展的Python模块一起使用。程序代码安装在Linux服务器上,但我有�

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

感谢。

编辑: 在进一步研究之后,如果我只使用Makefile创建一个普通的C程序,我会注意到同样的问题。因此,这个问题看起来不像是一个令人困扰的问题。

最佳答案:

1 个答案:

答案 0 :(得分:0)

查看distutils的来源并了解它如何强制执行重建,看起来它会检查文件的时间戳以确定文件是否过期。

当winscp上传文件时,您能确定时间戳正在改变吗?否则,看起来构建命令有一个“强制”选项,无论如何都会强制重建。

Tags:python distutils 

很赞哦! ()

文章评论

留言与评论(共有 0 条评论)
   
验证码:

本栏推荐

站点信息

  • 文章统计850496篇文章
  • 浏览统计27657次浏览
  • 评论统计1个评论
  • 标签管理标签云
  • 统计数据:统计代码
  • 微信公众号:扫描二维码,关注我们