打包一个python解释器

Posted TQCAI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打包一个python解释器相关的知识,希望对你有一定的参考价值。

利用python的exec语句,可以很方便地动态执行python语句。如果一个python代码打包为了exe,其原先的代码就很难更改了。一个好的解决方法就是import相应的库,然后把主程序段放到一个单独的文件中被exec执行。

现在打包一个简单的python解释器,因为是示例,只调用一个numpy库。

  • main.py 解释器
import numpy as np

if __name__ == ‘__main__‘:
    with open(‘code.py‘,‘r+‘) as f:
        code=f.read()
        exec(code)
  • code.py 被解释内容
a=np.array([1,2,3])
print(a)
i=0
for i in range(100):
    i+=i
print(i)
print(eval(‘1+2‘))
with open(‘run.cmd‘) as f:
    print(f.read())

pyinstaller打包:

pyinstaller -F -c main.py

执行,我们看到:
技术分享图片
只要是使用已经调入main.py的模块(或者是模块别名),都可以运行。这样就达到了打包解释器的效果。



以上是关于打包一个python解释器的主要内容,如果未能解决你的问题,请参考以下文章

Python学习总结

C++ 解释器/控制台/片段编译器

Linux Debian利用Dockefile将Python的py文件项目代码打包为Docker Podman镜像

Python打包-Pyinstaller

Python第三方打包库——PyInstaller

python 学习如何将Python脚本打包成可执行的exe文件#520表白代码