我可以预编译python脚本吗?

我可以预编译python脚本吗?,python,Python,我有一个python脚本。比如说http://domain.com/hello.py,仅打印“你好,世界!” 是否可以预编译此Python文件 我每秒收到大约300个请求,编译的开销非常高。在Java中,服务器可以轻松地处理此问题,但对于计算而言,Python工作起来要容易得多。Python代码在第一次运行时由CPython(标准Python)解释器自动编译,但这通常是不必要的。除此之外,还需要将Python代码转换为Python C/cython模块。如果您想这样做的话,有很多方法可以帮助您将

我有一个python脚本。比如说
http://domain.com/hello.py
,仅打印“你好,世界!”

是否可以预编译此Python文件


我每秒收到大约300个请求,编译的开销非常高。在Java中,服务器可以轻松地处理此问题,但对于计算而言,Python工作起来要容易得多。

Python代码在第一次运行时由CPython(标准Python)解释器自动编译,但这通常是不必要的。除此之外,还需要将Python代码转换为Python C/cython模块。如果您想这样做的话,有很多方法可以帮助您将Python代码转换成Python模块


还有一个名为的Python模块,通常用于科学计算和数据科学应用程序,它提供了一个名为的工具,允许您将C/C++代码内联到Python代码中,允许代码的某些性能关键部分使用编译的C/C++代码运行。

问题不在于您需要这样做“预编译”python,问题是您试图使用普通cgi脚本执行python脚本

真正的答案是使用比简单cgi更好的web后端来运行python

我建议按外观顺序如下

  1. nginx + gnunicorn
  2. apache2 + mod-wsgi
  3. something else
  4. anything else
  ...
n-1. fcgi
  n. cgi

我知道这不是一个真正的答案,完全是基于观点的

Python在导入时将
.py
文件编译到
.pyc
,这意味着它只做了一次。是什么让你认为是“编译开销”让你的应用程序变慢了?@univerio,我没有导入任何东西,我只有一行“打印”hello world!“我试着用Jmeter测试负载,它每分钟只能处理大约2000个请求。我的Java servlet做db查询计算等,每分钟可以处理大约70k个请求。这还有什么原因呢?这更可能是你试图将python文件作为普通cgi提供的产物……至少试试fcgi……但你真的应该这样做。”我会使用nginx+gnuicorn或某种缓存…apache+mod_wsgi也会工作…将它们作为普通cgi(可能还有fcgi…我不确定)提供的问题是,它必须为每个请求提供一个全新的解释器环境。我认为这并不能真正解决OP问题(这可能在标题和OP中被错误地陈述了…“预编译”python并不是真正有助于OP的解决方案…而且我认为你不能用任何数量的scipy或numpy来优化
打印“hello world”