Is it possible to compile Python natively (beyond

2019-03-11 04:47发布

I wonder if it is possible to create an executable module from a Python script. I need to have the most performance and the flexibility of Python script, without needing to run in the Python environment. I would use this code to load on demand user modules to customize my application.

4条回答
时光不老,我们不散
2楼-- · 2019-03-11 05:09

I think you can use jython to compile python to Java bytecode, and then compile that with GCJ.

查看更多
戒情不戒烟
3楼-- · 2019-03-11 05:10
  • There's pyrex that compiles python like source to python extension modules
  • rpython which allows you to compile python with some restrictions to various backends like C, LLVM, .Net etc.
  • There's also shed-skin which translates python to C++, but I can't say if it's any good.
  • PyPy implements a JIT compiler which attempts to optimize runtime by translating pieces of what's running at runtime to machine code, if you write for the PyPy interpreter that might be a feasible path.
  • The same author that is working on JIT in PyPy wrote psyco previously which optimizes python in the CPython interpreter.
查看更多
我只想做你的唯一
4楼-- · 2019-03-11 05:19

I've had a lot of success using Cython, which is based on and extends pyrex:

Cython is a language that makes writing C extensions for the Python language as easy as Python itself. Cython is based on the well-known Pyrex, but supports more cutting edge functionality and optimizations.

The Cython language is very close to the Python language, but Cython additionally supports calling C functions and declaring C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code.

This makes Cython the ideal language for wrapping for external C libraries, and for fast C modules that speed up the execution of Python code.

查看更多
forever°为你锁心
5楼-- · 2019-03-11 05:28

You can use something like py2exe to compile your python script into an exe, or Freeze for a linux binary.

see: How can I create a directly-executable cross-platform GUI app using Python?

查看更多
登录 后发表回答