大家好,这是我在stackOverflow上的第一个问题,不幸的是,这是一个奇怪的问题.
我有一个我要发布到Windows的python脚本,人们可能没有安装python.所以我使用py2exe.问题在于脚本我使用子进程运行其他python脚本,这需要python解释器作为要执行的程序.由于我没有在Windows上安装python解释器,有什么办法可以忽略解释器并解决问题吗?有什么方法可以调用py2exe的python解释器吗?
解决方法:
它可能比您想象的更简单:使用内置的eval()命令来执行脚本,而不是启动子进程.
[编辑]要重定向stdio,请用缓冲区或其他支持“write()”的内容替换sys.stdout/sys.stderr.
要恢复原始值,sys模块提供__stdout__等.
[EDIT2]我没试过这个但它可能有用:将“python.exe”添加到py2exe创建的文件集中.
从主代码中,将py2exe创建python.exe的所有文件复制到临时目录中.然后添加所有脚本.
现在使用一个小脚本启动新的python解释器,该脚本将temp文件夹和library.zip添加到sys.path
注意:Python不必像Windows应用程序那样“安装”.实际上,您只需将所有文件复制到新位置即可.只要搜索路径正确,这就有效.
标签:python,windows,py2exe 来源: https://codeday.me/bug/20190710/1419086.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。