千家信息网

Pythonexe的实际操作步骤是怎样的

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,Pythonexe的实际操作步骤是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python6. 把c:\python25\dll
千家信息网最后更新 2025年11月09日Pythonexe的实际操作步骤是怎样的

Pythonexe的实际操作步骤是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Python6. 把c:\python25\dlls目录中的.pyd和.dll文件,复制到d:\dist\dlls目录没有内建一个编译为exe的功能。给python程序的部署带来不少的麻烦。 所以就会出现一些py2exe之类的很不错的工具,用于自动把.py文件编译为.exe文件。 最近抽空研究了一下动实现类似py2exe的功能,希望加强对python的了解。 结果还相当不错。把结果记录下来,与大家共享。

原理

文中所描述的方法,基于python的以下几个功能

1. python程序运行时,会在sys.path指定的路径中查找库文件。
2. python从2.3开始,支持从zip文件中import库(支持.py,.pyc和.pyo,但不支持.pyd)
3. python提供C API,让c语言的程序,可以很方便的调用python的程序

实际步骤

注:假设Pythonexe安装在c:\python25目录中,***的可执行文件放到d:\dist目录中
1. 先去c:\python25\Lib目录,把所有文件都复制出来,比如复制到d:\pythonlib目录中
2. 开一个cmd窗口,进入d:\pythonlib目录中,运行 python -OO compileall.py -f . 把lib中的.py文件都编译成.pyo文件

3. 删除d:\pythonlib目录中所有的.py和.pyc文件,因为我们只要有.pyo文件就可以让这些库运行了。
4. 删除目录中所有用不着的文件,比如curses,test,idlelib,msilib等,以减少生成文件的体积。

5. 把这些库打包成一个zip文件,比如stdlib.zip,放到d:\dist目录中
中,当然,删除不可能用到的一些文件_msi.pyd,_ssl.pyd等等,可以减少文件的体积

7. 把自己写的程序,也按步骤2至步骤5所说的方法,打成一个mysrc.zip包,放到d:\dist目录中。 注意:自己写的程序的入口应该是main.pyo文件
8. 用以下C程序编译出一个可执行文件,比方说叫runpy.exe,也放到d:\dist中。

#include    #include    #include    #include     int main()   {   //

得到当前可执行文件所在的目录

char szPath[10240];   char szCmd[10240];   GetModuleFileName(NULL, szPath, sizeof(szPath));   char* p = strrchr(szPath, '\\');   if (p == NULL)   {   printf("Get module file name error!\n");   return -1;   }    *p = 0;    //

设定运行时的PATH

  1. char szPath[10240];

  2. char szCmd[10240];

  3. GetModuleFileName(NULL, szPath, sizeof(szPath));

  4. char* p = strrchr(szPath, '\\');

  5. if (p == NULL)

  6. {

  7. printf("Get module file name error!\n");

  8. return -1;

  9. }

  10. *p = 0;



把sys.path设定为['.', '自己的源代码zip文件', '标准库zip文件', 'dll目录']
然后调用main模块

把python25.dll放到d:\dist目录中即可完成手动制作pythonexe可执行程序的部分程序 。

看完上述内容,你们掌握Pythonexe的实际操作步骤是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

文件 目录 程序 步骤 方法 运行 实际 功能 支持 不错 体积 内容 更多 结果 译为 问题 编译 中中 束手无策 为此 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 es错误无法找到服务器 成都网络安全监理工程师 河北pdu服务器电源可以定制吗 浙江服务器电源批发厂家 有没有什么免费数据库 网络安全等级保护备案是啥意思 网络安全红线是指严禁任何人触碰 计算机网络技术3级软件 我的世界全球地图服务器 oa无法上传附件 服务器失败 建设无线小区安防网络技术方案 快手是用什么软件开发的 阿里云200m共享服务器 惠普服务器质保查询 武汉汉硕互联网科技有限公司 虚拟机连接到虚拟服务器 江苏应用软件开发哪家可靠 下载软件连接不上数据库 web数据库是基于什么的 宁波余姚市服务器维修 php搜索数据库设计 浙江天一网络技术有限公司 禾匠数据库迁移 英雄联盟打不开服务器怎么办 计算机网络技术班级介绍 软件开发可以从事的岗位 定制数据库云扩展 越南网络安全部队 天津科技互联网商学院 阿里云怎么购买服务器
0