在同一进程中使用不同版本的Python库

2024-05-22

我们正在开发一个Python 库。在开发过程中,我想使用该库的某些部分来测试它的新版本。也就是说,使用稳定的代码来测试开发代码。有没有办法在 python 中做到这一点?

Edit:更具体地说,我们有一个库(LibA),里面有很多有用的东西。此外,我们还有一个使用 LibA 的测试库来提供一些测试工具 (LibT)。我们希望使用 LibT 来测试 LibA,但由于 LibT 依赖于 LibA,因此我们宁愿在测试 LibT 时使用 LibA 的稳定版本(因为只有在测试通过等情况下,我们才会更改 LibT 以使用较新的 LibA)。因此,在运行单元测试时,LibA-dev 测试将使用依赖于 LibA-stable 的 LibT 代码。

我们提出的一个想法是在不同的进程上使用 RPyC 调用稳定的代码,但以一种严密的方式实现是很棘手的(确保它正确死亡等,并允许多个实例同时在同一台计算机等)。

Thanks


“我们想使用 LibT 来测试 LibA,但由于 LibT 依赖于 LibA,我们宁愿它使用稳定版本的 LibA,同时测试 LibT”

用T+A来测试A是没有意义的。有意义的是下面的内容。

LibA 实际上是两个东西的混合体:A1 和 A2。

T 取决于 A1。

实际情况是您正在使用 T 和 A1 升级和测试 A2。

如果将 LibA 分解为 T 需要的部分和其他部分,也许能够打破这种循环依赖。

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

在同一进程中使用不同版本的Python库 的相关文章

  • 如何把父母和孩子联系起来?

    有两个简单的类 一个只有parent属性 并且两者兼而有之parent and children属性 这意味着同时具备两者的人parent and children继承自唯一的parent 这是只有parent属性 我们就这样称呼它吧Chi
  • 在函数内的 for 循环上使用 tqdm 来检查进度

    我正在使用 for 循环迭代目录树内的一大组文件 这样做时 我想通过控制台中的进度条来监视进度 因此 我决定使用 tqdm 来实现此目的 目前 我的代码如下所示 for dirPath subdirList fileList in tqdm
  • 从 torch.autograd.gradcheck 导入 zero_gradients

    我想复制代码here https github com LTS4 DeepFool blob master Python deepfool py 并且我在 Google Colab 中运行时收到以下错误 ImportError 无法导入名称
  • pyCUDA无法打印结果

    最近 我使用 pip 为我的 python3 4 3 安装 pyCUDA 但我在测试示例代码时发现 https documen tician de pycuda tutorial html getting started https doc
  • 使用 Boto3 超时的 AWS Lambda 函数

    我已经解决了我自己的问题 但无论如何我都会发布它 希望能节省其他人几个小时 我在 AWS 上有一个无服务器项目 使用 Python 将记录插入到 kinesis 队列中 但是 当我使用 boto3 client kinesis 或 put
  • Python,Google Places API - 给定一组纬度/经度查找附近的地点

    我有一个由商店 ID 及其纬度 经度组成的数据框 我想迭代该数据框 并使用 google api 为每个商店 ID 查找附近的关键地点 例如输入 Store ID LAT LON 1 1 222 2 222 2 2 334 4 555 3
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • 将整数系列转换为交替(双元)二进制系列

    我不知道如何最好地表达这个问题 因为在这里谷歌搜索和搜索总是让我找到更复杂的东西 我很确定这是基本的东西 但对于我的生活来说 我找不到一个好的方法来做到这一点下列 给定一个整数序列 比如说 for x in range 0 36 我想将这些
  • Python 内置对象的 __enter__() 和 __exit__() 在哪里定义?

    我读到每次使用 with 时都会调用该对象的 enter 和 exit 方法 我知道对于用户定义的对象 您可以自己定义这些方法 但我不明白这对于 打开 等内置对象 函数甚至测试用例是如何工作的 这段代码按预期工作 我假设它使用 exit 关
  • 为什么需要设置WORKON_HOME环境变量?

    我已经有一段时间没有使用 python 虚拟环境了 但我也安装了虚拟环境包装器 我的问题是 在文档页面中它说要这样做 export WORKON HOME Envs mkdir p WORKON HOME source usr local
  • 我可以用关闭的文件对象做什么?

    当您打开文件时 它存储在一个打开的文件对象中 该对象使您可以访问该文件的各种方法 例如读取或写入 gt gt gt f open file0 gt gt gt f
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • 使用会话在 Django 中将文件从一个视图传递到另一个视图

    我当前的工作项目要求我允许用户上传各种格式的文件 目前仅处理 CSV 格式 然后使用包含的数据来绘制图表Pandas http pandas pydata org 图书馆 我决定将图形渲染到模板的最简单方法是为图形创建特定视图 然后将图像从
  • 如何创建增量加载网页

    我正在编写一个处理大量数据的页面 它会永远持续到我的结果页面加载 几乎无限 因为返回的数据太大了 因此 我需要实现一个增量加载页面 例如 url 中的页面 http docs python org http docs python org
  • 将 Django 中的所有视图限制为经过身份验证的用户

    我是 Django 新手 我正在开发一个项目 该项目有一个登录页面作为其索引和一个注册页面 其余页面都必须仅限于登录用户 如果未经身份验证的用户尝试访问这些页面 则必须将他 她重定向到登录页面 我看到 login required装饰器会将
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • 检查 IP 地址是否在给定范围内

    我想检查一下是否有IP180 179 77 11位于特定范围之间 例如180 179 0 0 180 179 255 255 我编写了一个函数 它将每个 IP 八位字节与其他八位字节进行比较 def match mask IP min ip
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并

随机推荐

  • 发送&查询字符串

    从first jsp 我将一些参数发送到result jsp 如下所示 a href Show Items a 这里 item itemName 可以有类似的值 食品和文具 当项目名称包含 时 我无法在结果页面上获取整个值 仅打印它 foo
  • showOptionDialog 之后将焦点返回到 JTable 内的 JComboBox

    我遇到了问题JComboBox用作CellEditor for a JTable 我想要编辑后JComboBox并按tab显示一个OptionsDialog并且 如果选择了特定选项 则焦点仍将集中在JComboBox 问题是由于选项卡焦点移
  • 未捕获的类型错误:无法读取 null 的属性值[重复]

    这个问题在这里已经有答案了 我是 jQuery 新手 我正在尝试创建一个登录表单 当用户输入简短的用户名时 该表单会切换文本 这是我的代码 当我单击按钮时什么也没有发生 我检查了控制台 它在我的代码中的特定行上显示了标题上的错误 我也检查了
  • GDI 函数 BitBlt 和 StretchBlt 在 Win32 中是否硬件加速?

    我似乎无法通过搜索得到明确的答案 Win32 blitting 操作是否硬件加速 GDI 而不是 GDI 我不知道这些函数如何与图形驱动程序交互 是否有任何函数调用来验证此功能 例如 GetCaps 对于特定的图形设备 win32图形设备
  • 使用另一个 MEF 程序集中的类而不引用它

    我有 2 个 MEF 组件 设其为A成分和B成分 我需要的是能够从组件 A 中的组件 B 访问一个类 而不需要引用它 然后我想手动实例化该类的对象 目前我看到 MEF 允许使用 Import 自动实例化对象 它使用需要引用的接口 我可以使用
  • 电话 GAP 会话存储

    我使用手机 GAP 开发 iPhone 应用程序 在我的应用程序中 我们使用外部数据库 用户使用 Web 服务登录 登录后我需要存储用户 ID 我如何使用手机 GAP 存储用户 ID 我可以使用手机 GAP会话存储可以吗 哪位知道的请帮忙
  • 将 Scala Future 转变为 CompletableFuture

    我的项目中有一个 Akka 层 它返回Scala Future 而接收 Future 的部分是 Java 风格的 团队中的人不了解 Scala 他们宁愿使用CompletableFuture因为他们更了解 Java 8 API 有没有什么好
  • Matplotlib:如何在 y 轴上绘制分类数据?

    假设我有以下代码 它来自here https stackoverflow com questions 29508208 best way to plot categorical data answertab active tab top g
  • 以字符串数组作为参数的操作

    我想调用与此 uri 类似的操作 http server controller action columns firstname columns lastname columns age 并像这样使用它 public ActionResul
  • 确保 Clojure 中只有一个服务实例正在运行/启动/停止的规范方法?

    我正在用 Neo4j 支持的 Clojure 编写一个有状态服务器 它可以服务套接字请求 例如 HTTP 当然 这意味着我需要能够从该服务器内启动和停止套接字服务器 在设计方面 我希望能够在此服务器中声明一个 服务 并启动和停止它 我在 C
  • 如果警告数量超过一定限制,AzureDevOps 构建管道将失败

    我热衷于不让项目质量失控 我知道在某些情况下警告可能有意义 但我担心警告的数量会随着时间的推移而增加 我有一个 Azure DevOps 构建 门控提交 管道 我只想允许 10 个警告 以便在某些时候开发人员必须解决他们的警告 有没有办法对
  • 不理解 Ruby ljust/rjust/center 方法

    我正在学习嵌套 我的任务是使每条新行都以缩进开头 这是我的代码 但它不起作用 nestingDepth 0 def logger description block puts Beginning description rjust nest
  • getAudioInputStream() 期间标记/重置异常

    我发布了问题的修复 如下所述 但无法确认它是否解决了问题 使用 Java 7 的人会尝试以下 Applet 并报告吗 我们将非常感激 音频混合器演示 http www hexara com VSL AudioMixerDemoWarOfWo
  • Play 商店错误:无法安装应用重试,仍然无法正常工作,请参阅解决问题的常见方法

    我昨天在 Play 商店发布了一个新应用程序 并且已发布 但是 当我尝试下载并安装时 它显示此错误 无法安装应用程序 X 重试 但它仍然不起作用 请参阅解决问题的常见方法 我已经尝试过多次清除Play商店缓存 数据 重置手机 尝试了我的小米
  • 如何扩展 Array 以获得泛型类型?

    我有一个链表类 声明如下 class LinkedNode
  • ASP.NET @Register 与 @Reference

    我正在我的 ASPX 页面上引用用户控件 我想知道这两个页面指令之间有什么区别 参考 http msdn microsoft com en us library w70c655a aspx 登记 http msdn microsoft co
  • 序列化包含 BitmapImage 的对象

    这是关于该主题的进一步问题 如何使用反序列化对象 https stackoverflow com questions 18444861 how to use deserialized object 18455591 18455591我的班级
  • 为什么处理时间随着修剪位置的增加而增加?

    我最近一直在使用ffmpeg修剪一些视频 我注意到随着修剪位置的增加 修剪视频所花费的时间也会增加 即使持续时间相同 5 seconds 下面给出了修剪视频的命令0 to 5秒 处理仅需1秒 ffmpeg y i input mp4 fil
  • 合并的 xts 对象未对齐

    请尝试以下代码 library quantmod getSymbols SPY from 1950 01 01 SPY lt to monthly SPY temp lt xts Cl SPY index SPY 您将获得一个xts具有相同
  • 在同一进程中使用不同版本的Python库

    我们正在开发一个Python 库 在开发过程中 我想使用该库的某些部分来测试它的新版本 也就是说 使用稳定的代码来测试开发代码 有没有办法在 python 中做到这一点 Edit 更具体地说 我们有一个库 LibA 里面有很多有用的东西 此