首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SCons管理Python3代码

用SCons管理Python3代码
EN

Stack Overflow用户
提问于 2015-08-21 08:36:10
回答 1查看 1.1K关注 0票数 1

在工作中,我的任务是将一个带有Python2.7代码的大型库转换为Python3.x。

这个库包含了许多用boost python为C++构建的脚本和扩展。

所有这些都是用SCons构建的,它不适用于Python3.x解释器,但现在我和我的主管想知道是否有办法解决这个问题。

SConstruct文件包含带有sys.version的表达式,以确定要导入的正确的模块目录(numpy等)。我不知道如何使用SCons或语法,所以我不能给出很多关于这个主题的信息。

我们可以使用SCons构建具有给定扩展的Python3代码,还是必须等到SCons与Python3兼容时再使用?

EN

回答 1

Stack Overflow用户

发布于 2015-08-25 08:48:06

在编写这篇文章时,有计划在一个分支/版本中同时支持Python2.7和3.x。这个特性的工作已经开始,但是要达到这个目标还需要更多的时间。

所以看起来你最好的选择就是马上开始。对于编译Boost扩展,SCons本身在Python2.7下应该运行得很好。在您的示例中,问题是从当前Python解释器的版本中派生路径和模块名称的附加检查和检测机制。由于你不能给出更多关于这个过程的细节,我的回答在这里有点模糊,对不起。原则上,您必须在SConstructs/SConscript中找到当前运行的Python解释器的版本确定的位置。只需将其硬编码到3.x版本,您已经安装在机器上,并保持您的手指祈祷,其余将自动工作。

请注意,在“为Python版本编译代码”和“在Python版本下编译代码”之间有着明显的分离。

一般来说,更好地理解SCons内部工作原理和基本原则可能会有所帮助。如果您有时间,请查看UserGuide ( http://scons.org/doc/production/HTML/scons-user.html )或查阅我们的用户邮件列表(请参阅http://scons.org/lists.php ),以了解更大的问题和讨论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32135869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档