Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.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
是否可以以本机方式编译Python(超越pyc字节码)?_Python_Module_Compilation - Fatal编程技术网

是否可以以本机方式编译Python(超越pyc字节码)?

是否可以以本机方式编译Python(超越pyc字节码)?,python,module,compilation,Python,Module,Compilation,我想知道是否可以从Python脚本创建一个可执行模块。我需要拥有Python脚本的最大性能和灵活性,而不需要在Python环境中运行。我将使用此代码加载按需用户模块以自定义我的应用程序。您可以使用py2exe之类的工具将python脚本编译为exe,或冻结为linux二进制文件 请参阅: 有一种方法可以将类似python的源代码编译为python扩展模块 它允许您编译python,并对各种后端(如C、LLVM、.Net等)进行一些限制 也有把Python翻译成C++的,但是我不能说它有什么好。

我想知道是否可以从Python脚本创建一个可执行模块。我需要拥有Python脚本的最大性能和灵活性,而不需要在Python环境中运行。我将使用此代码加载按需用户模块以自定义我的应用程序。

您可以使用py2exe之类的工具将python脚本编译为exe,或冻结为linux二进制文件

请参阅:

  • 有一种方法可以将类似python的源代码编译为python扩展模块
  • 它允许您编译python,并对各种后端(如C、LLVM、.Net等)进行一些限制
  • 也有把Python翻译成C++的,但是我不能说它有什么好。<李>
  • 实现一个JIT编译器,它试图通过将运行时运行的部分转换为机器代码来优化运行时,如果您为PyPy解释器编写代码,那么这可能是一个可行的路径
  • 在PyPy中研究JIT的同一位作者之前曾在CPython解释器中对python进行了优化

我认为您可以使用jython将python编译为Java字节码,然后使用GCJ编译。

我已经成功使用了很多,它基于并扩展了pyrex:

Cython是一种使人 为Python编写C扩展 语言和Python本身一样简单。 Cython是基于著名的 Pyrex,但支持更先进的 功能和优化

Cython语言与英语非常接近 Python语言,但Cython 另外还支持调用C 函数和在上声明C类型 变量和类属性。这 允许编译器生成非常有用的代码 高效的C代码来自Cython代码

这使Cython成为理想的语言 对于外部C库的包装, 对于加速的快速C模块 Python代码的执行


@Howler,py2exe不会提供OP要求的大部分内容。代码仍然在Python运行时运行(尽管它被重命名),并且不会比脚本本身运行得更快)@戴维:你可能想考虑重写C/C++中的主应用程序,并扩展W/Python。或者,不要重写主应用程序,只需找到热点,并将C/C++中的那些写为Python扩展。我正在寻找一种在已经运行的环境中注入代码的解决方案。但是这个代码需要非常快,所以解释不是一个选项;它们是独立的工作,pyrex应该仍然可以正常工作(这是我的第二个建议,在用C/C++重新编写问题区域之后)。还有IronPython(假设是Windows或Mono),尽管您是否能获得额外的速度值得怀疑。到rpython和PyPy的链接已关闭。