Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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(django)请求究竟是如何发生的?它必须重新分析所有的代码库吗?_Python_Django_Pipeline_Request Pipeline - Fatal编程技术网

python(django)请求究竟是如何发生的?它必须重新分析所有的代码库吗?

python(django)请求究竟是如何发生的?它必须重新分析所有的代码库吗?,python,django,pipeline,request-pipeline,Python,Django,Pipeline,Request Pipeline,使用像python(或php)这样的脚本语言,事情不会像.net或java那样编译成字节码 那么,这是否意味着在每个请求上,它都必须遍历整个应用程序并对其进行解析/编译?或者至少是给定调用堆栈所需的所有代码?当作为CGI运行时,是的,每个请求都需要加载整个项目。FastCGI和mod_wsgi将项目保存在内存中,并通过套接字与之通信 使用像python这样的脚本语言 (或php),事情不会被编译下来 例如.net或java中的字节码 错误:Python中导入的所有内容都被编译成字节码(如果可以写

使用像python(或php)这样的脚本语言,事情不会像.net或java那样编译成字节码


那么,这是否意味着在每个请求上,它都必须遍历整个应用程序并对其进行解析/编译?或者至少是给定调用堆栈所需的所有代码?

当作为CGI运行时,是的,每个请求都需要加载整个项目。FastCGI和mod_wsgi将项目保存在内存中,并通过套接字与之通信

使用像python这样的脚本语言 (或php),事情不会被编译下来 例如.net或java中的字节码


错误:Python中
导入的所有内容都被编译成字节码(如果可以写入包含要导入的源代码的目录,则另存为
.pyc
文件——标准库&c通常是预编译的,这当然取决于安装选项)。只要保持主脚本简短(导入一些模块并调用其中的函数),就可以始终使用编译的字节码。(Python的编译器被设计得非常快——这意味着它不会做很多其他合理的优化——但完全避免它会更快;-)。

实际上,Python和PHP都是字节编译的。Python使字节码持久化(到处都是.pyc和.pyo文件)