【问题标题】:Working with Python2 and Python3 in the same project在同一个项目中使用 Python2 和 Python3
【发布时间】:2018-11-26 10:14:15
【问题描述】:

我的主应用使用 Python3 运行

我需要安装一个只支持 Python2 的关键包...

我在 Windows 上运行

我想也许在另一个虚拟环境中设置这个包,除了一个用于通信的烧瓶服务器。

除了服务器之外,还有其他方法可以在应用程序之间传递消息吗?

对于 Python2、Python3 混合是否有更好的方法?

【问题讨论】:

  • 可能会询问您正在使用的软件包...可能有软件包的替代品,或者可能是迫使您使用 python 3 的软件包的替代品

标签: python python-3.x python-2.7


【解决方案1】:

如何使用subprocess 模块。您可以将 Python 2 程序作为 Python 3 应用程序的子进程启动。它们可以通过子流程 PIPE 进行通信。

【讨论】:

    【解决方案2】:

    烧瓶太重了。为什么不使用套接字和选择器? offical example

    【讨论】:

    • 你是这个问题的答案吗?
    • 在我看来,仅仅建立一个用于发送和接收消息的套接字是 Python2 和 Python3 之间通信的方便和轻便的方式。
    • 很困惑为什么你暗示 OP 使用烧瓶
    • 哦,我现在看到中间了
    【解决方案3】:

    不幸的是,我最近遇到了类似的问题,想分享我的解决方案。我使用了multiprocssing.connection 模块。将数据从 Python 3 发送到 Python 2 时应更改默认酸洗协议。更改默认酸洗协议的方法在此answer 中进行了描述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多