Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python3程序中使用python2模块_Python_Python 3.x_Python 2.7 - Fatal编程技术网

如何在python3程序中使用python2模块

如何在python3程序中使用python2模块,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我已经用python3编写了一个40k行程序。现在,我需要在整个程序中使用一个名为pytan的模块,它将传递一个附加功能。问题是pytan是用python2编写的 那么,有没有可能在一个脚本中将解释器切换到python 2.7,而另一个脚本在python 3中运行时调用该脚本 处理这种情况的最佳方法是什么。您不能“将解释器切换到python 2.7”。你要么用一个,要么用另一个。您的选择是: 想出一个不需要pytan模块的替代方案 修改pytan模块,使其在Python 3下运行 修改代码,使

我已经用python3编写了一个40k行程序。现在,我需要在整个程序中使用一个名为pytan的模块,它将传递一个附加功能。问题是pytan是用python2编写的

那么,有没有可能在一个脚本中将解释器切换到python 2.7,而另一个脚本在python 3中运行时调用该脚本

处理这种情况的最佳方法是什么。

您不能“将解释器切换到python 2.7”。你要么用一个,要么用另一个。您的选择是:

  • 想出一个不需要
    pytan
    模块的替代方案

  • 修改
    pytan
    模块,使其在Python 3下运行

  • 修改代码,使其在Python 2下运行

  • 隔离需要
    pytan
    的代码,以便可以在python 2解释器下作为子进程运行它。此解决方案存在许多问题:

    • 它要求用户安装两个版本的Python

    • 它会使编辑器中的语法高亮显示等事情复杂化

    • 这将使测试复杂化

    • 在主代码和Python2子进程之间可能需要某种形式的IPC(管道、套接字、文件等)(这并不可怕,但如果您可以使其他选项之一正常工作,则不需要额外的复杂性)


顺便说一句,如果您正在谈论的是,快速浏览一下,就会发现它是在考虑到对python 3的支持的情况下编写的。您确定Python2的要求吗?存储库最近有一些活动,因此可能会有问题或贡献,这将是一条很好的前进道路#2对于整个生态系统来说是最理想的。我可能会交换3和4;3听起来很简单,但比4更像绷带。我与开发人员有直接联系,我打算问他有关python 3支持的问题,也许他们现在正在开始转换。这个pytan模块只是一个用于与Tanium安全应用程序通信的SOAP接口,所以也许我可以在没有pytan的情况下使用它。谢谢,所有好的建议和信息。。。现在我只需要做更多的研究并做出决定。