首页 > 解决方案 > 使用 pypy3 或 python 运行不同的脚本

问题描述

有没有办法在pypy3中运行主脚本,但是导入,比如helper.py,由常规python执行/解释?反之亦然?

为了澄清,假设我有main.py我想用pypy3. 该脚本导入帮助程序,我希望整个脚本helper.py使用python3. 或相反亦然。import pyximport; pyximport install()我想知道是否有类似在哪里编译导入的东西,基本上与 main.py 的工作/行为不同。我想知道是否有类似的事情,我可以做到。目前,我会pypy3 main.py在 main.py 中使用 and 、 havesubprocess.popen和 execute python helper.py,然后通过标准输出/管道传递一个对象或结果。好奇是否有其他方法可以做到这一点。

是的,我知道你会问为什么还要麻烦这样做。我目前正在考虑这一点,因为在 Windows 中使用 python 迭代文件比使用 pypy3 逐行迭代文件要快​​得多。我知道他们正在尝试更新/修复此问题,但由于尚未修复,我想知道我能做什么。在 Linux 中,pypy3 工作得很好,即使在迭代文件时也是如此。

我想另一种情况可能是 pypy3 尚不支持库时,因此您仍希望使用 python3 执行该脚本,但也许脚本的另一部分您可能希望使用 pypy3 来获得一些性能。希望这个问题很清楚。

标签: pythonimportpython-importpypy

解决方案


子流程似乎是正确的方法。但是,您可以查看用于管理子流程的人性化等效库,

  1. 委托人
  2. 使者
  3. 期待

这感觉像是一个有趣的实验,它为在一个运行时环境中不受支持但可以在其他一些受支持的环境中执行并且仍然保持程序执行的线性流程的库或函数提供后备支持。

你将如何扩展它?是一个完全不同的问题。


推荐阅读