大家好,这是我在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应用程序那样“安装”.实际上,您只需将所有文件复制到新位置即可.只要搜索路径正确,这就有效.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。