我编写了一个包含python CGI脚本的简单python localhost服务器。 CGI基于用户搜索返回html。
我想构建一个为用户创建本地主机的编译版本,并让他们运行python CGI脚本(不安装python)。
我使用pyinstaller来创建服务器程序的exe。但是,当调用CGI时,它仍然试图运行未编译的python(用户的机器不会有)。
有关如何在不安装python的情况下为用户提供CGI的任何想法?
我能够通过以下步骤使这个工作:
在步骤3中添加的代码(这是quora链接中的图片)
hiddenimports=['email','email.message',
'email.mime.message', 'email.mime.image',
'email.mime.text', 'email.mime.multipart',
'email.mime.audio', 'email.mime.multipart',
],
def extra_datas(mydir):
def rec_glob(p,files):
import os
import glob
for d in glob.glob(p):
if os.path.isfile(d):
files.append(d)
rec_glob("%s/*" % d, files)
files = []
rec_glob("%s/*" % d, files)
extra_datas = []
for f in files:
extra_datas.append((f, f, 'DATA'))
return extra_datas
#include our data directories
a.datas += extra_datas("static")
a.datas += extra_datas("templates")