使用 SCons 管理 Python 3 代码

2023-12-13

在工作中,我的任务是将 Python 2.7 代码的大型库转换为 Python 3.x。

该库包含许多使用 boost python for C++ 制作的脚本和扩展。

所有这些都是用 SCons 构建的,它不能与 Python 3.x 解释器一起使用,但现在我和我的主管想知道是否有办法解决这个问题。

SConstruct 文件包含 sys.version 的表达式,以确定要导入的正确模块目录(numpy 等)。我不知道如何使用 SCons 或语法,因此我无法提供有关此主题的大量信息。

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


在撰写本文时,计划在单个分支/版本中支持 Python 2.7 和 3.x。此功能的工作已经开始,但需要更多时间才能实现这一目标。

所以看起来你最好的选择就是立即开始。 SCons 本身应该可以在 Python 2.7 下正常运行来编译 Boost 扩展。您的情况的问题是添加的检查和检测机制,用于从当前 Python 解释器的版本派生路径和模块名称。 由于您无法提供有关此过程的更多详细信息,因此我的回答有些含糊,抱歉。原则上,您必须在 SConstructs/SConscripts 中找到确定当前运行的 Python 解释器版本的位置。只需将其硬编码到您另外安装在计算机上的 3.x 版本,并祈祷其余部分将自动工作。

请注意这里“编译代码”之间是如何明显分开的forPython 版本” vs “编译代码underPython 版本”。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SCons 管理 Python 3 代码 的相关文章

  • Python 转换矩阵

    我有一个如下所示的列表 2 1 3 1 2 3 1 2 2 2 我想要的是一个转换矩阵 它向我显示如下序列 1 后跟 1 的频率是多少 1 后面跟着 2 的频率是多少 1 后跟 3 的频率是多少 2 后跟 1 的频率是多少 2 后跟 2 的
  • 通过 python 中的另外两个修改数组[重复]

    这个问题在这里已经有答案了 假设我们有三个一维数组 A 长度为 5 B 长度相同 示例中为5 C 更长 比如长度为 100 C最初用零填充 A给出索引C应更改的元素 它们可能会重复 以及B给出应添加到初始零的值C 例如 如果A 1 3 3
  • 键入的完整命令行

    我想获得输入时的完整命令行 This join sys argv 在这里不起作用 删除双引号 另外 我不想重新加入已解析和拆分的内容 有任何想法吗 你太迟了 当键入的命令到达 Python 时 您的 shell 已经发挥了它的魔力 例如 引
  • Flask 中“缺少 CSRF 令牌”,但它在模板中呈现

    问题 当我尝试登录 使用 Flask login 时 我得到Bad Request The CSRF session token is missing但令牌正在呈现 在模板中 secret key 已设置 并且我在本地运行localhost
  • Keras model.predict 函数给出输入形状错误

    我已经在 Tensorflow 中实现了通用句子编码器 现在我正在尝试预测句子的类概率 我也将字符串转换为数组 Code if model model type universal classifier basic class probs
  • 如何计算数据框中按另一列的列值分组的一列的连续字符串值?

    我有以下数据框 Levels Labels Confidence 0 Hands 0 8 0 Leg 0 7 0 Eye 0 9 1 Ear 0 9 1 Eye 0 8 2 Hands 0 9 2 Eye 0 8 3 Eye 0 8 我想检
  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • django 模板 - 如何动态访问变量?

    假设我有一个具有以下上下文的 django 模板 data1 this is data1 data2 this is data2 data name data2 现在我知道了data name 假设它是 data2 是否可以用它来访问变量d
  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • 用 Python 绘制直方图

    我有两个列表 x 和 y x 包含字母表 A Z Y 包含它们在文件中的频率 我尝试研究如何在直方图中绘制这些值 但在理解如何绘制它方面没有成功 n bins patches plt hist x 26 normed 1 facecolor
  • 高级描述熊猫

    有没有像 pandas 那样更高级的功能 通常我会继续这样 r pd DataFrame np random randn 1000 columns A r describe 我会得到一份很好的总结 就像这样 A count 1000 000
  • 如何用正则表达式替换多个匹配/组?

    通常我们会编写以下内容来替换一场比赛 namesRegex re compile r is life re I replaced namesRegex sub r butter There is no life in the void pr
  • 使用 Python 绘制 USGS 水文数据甘特图?

    我编译了一个数据帧 其中包含几个不同流计的 USGS 流数据 现在我想创建一个类似的甘特图this https stackoverflow com questions 31820578 how to plot stacked event d
  • Django 2、python 3.4 无法解码 urlsafe_base64_decode(uidb64)

    我正在尝试通过电子邮件激活用户 电子邮件有效 编码有效 我使用了 django1 11 中的方法 该方法运行成功 在 Django 1 11 中 以下内容成功解码为 28 其中 uidb64 b Mjg force text urlsafe
  • 为什么 Collections.counter 这么慢?

    我正在尝试解决罗莎琳德的基本问题 即计算给定序列中的核苷酸 并在列表中返回结果 对于那些不熟悉生物信息学的人来说 它只是计算字符串中 4 个不同字符 A C G T 出现的次数 我期望collections Counter是最快的方法 首先
  • 是否可以在Python中将日+月(不是年)与当前日+月进行比较?

    我正在获取 5 月 10 日 格式的数据 我试图弄清楚它是今年还是明年 该日期仅一年 因此 5 月 10 日表示 2015 年 5 月 10 日 而 5 月 20 日表示 2014 年 5 月 20 日 为此 我想将字符串转换为日期格式并进
  • 如何创建用于霍夫曼编码和解码的树?

    对于我的作业 我将对霍夫曼树进行编码和解码 我在创建树时遇到问题 并且陷入困境 不要介意打印语句 它们只是让我测试并查看函数运行时的输出是什么 对于第一个 for 循环 我从主块中用于测试的文本文件中获取了所有值和索引 在第二个 for 循
  • 无需访问 Internet 即可部署 Django 的简单方法?

    我拥有的是使用 Django 开发的 Intranet 站点的开发版本以及放置在 virtualenv 中的一些外部库 它运行良好 我可以在任何具有互联网连接的计算机上使用相同的参数 使用 pip 轻松设置 virtualenv 但是 不幸
  • 是否可以使用 Anaconda 包作为 Google Cloud Functions 的依赖项?

    我正在使用 Python 运行时编写 Google Cloud Function 我需要包含一些无法使用的依赖项pip 如文档中所述here https cloud google com functions docs writing spe
  • python中有没有一种方法可以将存储在列表中的正则表达式模式列表应用到单个字符串?

    我有一个正则表达式模式列表 存储在列表类型中 我想将其应用于字符串 有谁知道一个好方法 将列表中的每个正则表达式模式应用于字符串 和 如果匹配 则调用与列表中该模式关联的不同函数 如果可能的话我想用 python 来做这件事 提前致谢 im

随机推荐

  • 接收方未注册异常错误?

    在我的开发者控制台中 人们不断报告一个错误 我无法在我拥有的任何手机上重现该错误 一个人留言说 当他们尝试打开我的电池服务的设置屏幕时 他收到了消息 正如您从错误中看到的 它表明接收器未注册 java lang RuntimeExcepti
  • Facebook API:所有朋友共享的所有链接?

    访问所有用户 Facebook 好友共享的链接的最实用方法是什么 我希望抓取由经过身份验证的用户的朋友共享的少数域的所有链接 有没有办法询问 域 X 的所有链接 所有链接 我将过滤域 X 或者我是否需要获取每个朋友并解析每个单独的提要 我假
  • T-SQL 读取带有命名空间的 xml 文件

    我尝试读取 sql server 中的 xml 文件 DECLARE XMLToParse XML Load the XML data in to a variable to work with This would typically b
  • TypeScript 2:非类型化 npm 模块的自定义类型

    尝试后发布的建议其他地方 我发现自己无法运行使用非类型化 NPM 模块的打字稿项目 下面是一个最小的示例和我尝试的步骤 对于这个最小的例子 我们假设lodash没有现有的类型定义 因此 我们将忽略该包 types lodash并尝试手动添加
  • 如何更改powershell控制台中的光标位置

    我目前将当前的 CursorPosition 分配给 Powershell 中的一个变量 以便在脚本中执行倒计时时可以覆盖相同的空间 如下所示 errorPos host UI RawUI CursorPosition for i 5 i
  • 在 Core Data 应用程序中更新 NSTableView 的正确方法

    我有一个带有 NSTableView 的核心数据项目 其中列绑定到 NSArrayController 反过来 控制器的内容绑定到 AppDelegate 的主要托管对象上下文 我对 NSTextFieldCell 进行了子类化 以提供更定
  • 访问和操作环境对象中的数组项

    我有一个EnvironmentObject我用来生成一个列表 class ActivityViewModel ObservableObject Published var Activities Activity init self Acti
  • Tableview的Plist搜索

    I have Plist它已填充在带有扩展部分的表格视图上 现在我想搜索表格 下面的图像中 您可以看到当我搜索任何内容时发生的情况 只是因为我正在搜索它 但需要对 cellforrowatindexpath 进行一些更改以获取搜索结果 请检
  • 在Java中按键排序HashMap的最佳方法?

    这是我第一次必须订购HashMap在爪哇 我需要按键执行此操作 但在我的情况下 键是一个对象 因此我需要按特定字段进行排序 尝试自己解决这个问题 我考虑继续编写这个简单的代码 private HashMap
  • 以 Map 作为主体的 Dart HTTP POST

    飞镖http包 s post方法只接受一个String a List
  • 同步期间出错:管道损坏 - 更新 Android Studio 3.2、3.3 后

    将 Android Studio 更新到 3 2 并解决同步 gradle 问题后Gradle 同步失败 将 Android Studio 更新到 3 2 后 我无法安装apk 事件日志 Error during Sync Broken p
  • 如何检索 WiFi Direct MAC 地址?

    我正在尝试检索 Android 设备的 MAC 地址 如果 WiFi 已打开 这通常可以通过 WiFiManager API 实现 如果 WiFi 关闭且 WiFi Direct 打开 有什么方法可以获取 MAC 地址吗 我的手机上无法同时
  • 如何将多个Excel文件合并为一个Excel文件

    所以我试图制作一个 Excel 表格聚合器 在我的工作中 有人向我们发送一堆单独的 Excel 文件 这些文件都是相关的 每个文件只使用了一张纸 我在某种程度上遵循上一篇文章的想法 但这样做后 我复制的一些 Excel 工作表变成了空白 只
  • 我可以创建宽度为百分比高度但像素精确的行高的 HTML 表格吗?

    我需要在网页上创建一个有两行的表 该表格需要填充整个页面 因此我在 CSS 样式表中将表格的高度和宽度设置为 100 并将 HTML 和正文的高度也设置为 100 但是 我需要将表格顶行的高度精确为 100 像素 并扩展第二行以适合表格的其
  • 在模板化嵌套和继承类中未检测到变量

    我有一个像这样的嵌套和继承的结构 template
  • 仅使用给定符号创建固定长度的唯一 ID?

    我试图了解如何在 python 中创建一组固定长度 例如长度 12 的唯一 ID 它使用所有字母数字字符的特定子集 这里的用例是这些 ID 需要被人们读取并在打印文档中引用 因此我试图避免使用字符 L I O 和数字 0 1 我当然需要能够
  • AWS Route 53 - 到应用程序负载均衡器不同端​​口的域名路由

    我们正在AWS中实施微服务架构 我们有几个 EC2 实例 它们将微服务部署在不同的端口上 我们还有一个面向互联网的应用程序负载均衡器 它根据端口路由到不同的服务 eg xxxx xx xx elb amazonaws com 8080 go
  • 使用 Iron-Router 模板内的上下文

    我无法理解exactlyMeteor 使用 Iron Router 调用的模板中的上下文可用作我的上下文 以及这些内容如何继承 以下是我能想到的 我可以在双花括号内引用的内容 的所有潜在来源 内置助手 Handlebars register
  • https 与使用 Cloudfront 签名的 url

    我知道这是一个苹果和橘子的问题 但我想了解使用 https 和 AWS Cloudfront 签名 URL 的优缺点 人们可以评论并添加到这个列表中吗 HTTPS PROS 安全性 https 比 http 更安全 不过 我不确定这意味着什
  • 使用 SCons 管理 Python 3 代码

    在工作中 我的任务是将 Python 2 7 代码的大型库转换为 Python 3 x 该库包含许多使用 boost python for C 制作的脚本和扩展 所有这些都是用 SCons 构建的 它不能与 Python 3 x 解释器一起