Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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程序是否可以内联其依赖项?_Python - Fatal编程技术网

任意Python程序是否可以内联其依赖项?

任意Python程序是否可以内联其依赖项?,python,Python,在JavaScript生态系统中,编译器存在,它将接受一个具有其他JavaScript库的重要依赖链的程序,并经常发出一个独立的JavaScript程序,并应用优化 Python是否有任何等效工具可以生成一个包含所有非标准库依赖项的内联脚本?是否有其他工具/实践可用于在Python中捆绑依赖项?由于您的目标是跨体系结构,因此任何依赖本机C模块的Python程序都不可能使用这种方法 一般来说,使用virtualenv创建目标环境意味着即使没有安装新系统级软件的权限的用户也可以在自己的主目录下安装依

在JavaScript生态系统中,编译器存在,它将接受一个具有其他JavaScript库的重要依赖链的程序,并经常发出一个独立的JavaScript程序,并应用优化


Python是否有任何等效工具可以生成一个包含所有非标准库依赖项的内联脚本?是否有其他工具/实践可用于在Python中捆绑依赖项?

由于您的目标是跨体系结构,因此任何依赖本机C模块的Python程序都不可能使用这种方法

一般来说,使用virtualenv创建目标环境意味着即使没有安装新系统级软件的权限的用户也可以在自己的主目录下安装依赖项;因此,在实践中通常不需要您询问的内容

但是,如果你想做一些考虑邪恶/不好的事情,纯Python模块实际上可以被捆绑成脚本;因此,对于仅具有本机Python依赖项的模块,可以使用这种工具

如果我正在编写这样一个工具,我可能会从以下方式开始:

使用pickle序列化发送端模块的内容 在加载程序代码中,使用imp.create_module创建新的模块对象,并将未勾选的对象分配给它们。
检查这个:接近我正在尝试的,但是py2exe会破坏我的代码。我需要一个能将所有内容编译成Python代码的东西,这样我就可以将体系结构塑造成我所需要的。@codykochmann:请再问一次这个问题,因为一些喜欢触发的版主关闭了这个问题,所以无法发布答案,然后请在这里链接评论……也就是说,我可以给你一个答案:不,这是不可能的。您可以对纯Python模块执行此操作,但几乎所有非平凡程序都使用的本机C模块不能与Python代码内联。