请问,怎么把BS结构的东西,打包成exe格式的xp傻瓜安装包包?

我下了个cx_Freeze用以打包python成exe,点了安装后,安装过程中也没让我选择安装路径,什么快捷方式也没生成(我在“F:\自习室\python打包exe工具”文件夹下点击安装的),也没发现安装完后有什么变化。但显示是安装完成了。我要打包的代码为“F:\自习室\python\Ace”文件夹中的close.py,同时这个文件夹下还有close.py的代码中用到的图片文件夹pic和一个SQLiteDeveloper的数据库表格Data0,我的python安装在了“C:\Python27”我的wxPython安装在了“F:\自习室\wxPython”。。。很无语啊,这可咋办啊,网上说有py2exe可以用,但我没找到python2.7(我的版本)对应的版本下载地址,谁给我想个办法吧。。谢谢,如果给我py2exe地址的时候能不能一起给我方法呐。。
回复讨论(解决方案)
编写安装脚本
#&setup.py
from&distutils.core&import&setup
import&py2exe
setup(name&=&'your&program&name',
&&&&&&version&=&'1.1.5.1',
&&&&&&description&=&'your&program&description',
&&&&&&windows&=&[&主程序入口.py&],&#如果是控制台程序,写&console&=&[&主程序入口.py&]
大概就是这样
py2exe或者pyinstaller,具体方法请搜索
您好!谢谢您的帮助!我从网上找到这句话:&Python&2.6&是使用&Microsoft&Visual&C++&2008&编译的,所以要想&py2exe&for&2.6&打包的程序运行,目标机器上必须装有&Python&2.6&或者&Microsoft&Visual&C++&2008&Redistributable&Package。否则系统就无法识别&exe&程序的&CRT,&因而它就成为无法运行的程序。(/lewutian/blog/item/c8a39e0b7b8254.html)
但我的python版本是2.7,怎么办啊?另外,我在python中还用到了数据库SQLiteDeveloper,打包时候也需要一起打包么?还有别的方法么? py2exe
编写安装脚本
Python&code
#&setup.py
from&distutils.core&import&setup
import&py2exe
setup(name&=&'your&program&name',
&&&&&&version&=&'1.1.5.1',
&&&&&&description&=&'your&program&descr……
您好!谢谢您的帮助!我从网上找到这句话:&Python&2.6&是使用&Microsoft&Visual&C++&2008&编译的,所以要想&py2exe&for&2.6&打包的程序运行,目标机器上必须装有&Python&2.6&或者&Microsoft&Visual&C++&2008&Redistributable&Package。否则系统就无法识别&exe&程序的&CRT,&因而它就成为无法运行的程序。(/lewutian/blog/item/c8a39e0b7b8254.html)
但我的python版本是2.7,怎么办啊?另外,我在python中还用到了数据库SQLiteDeveloper,打包时候也需要一起打包么?还有别的方法么? py2exe或者pyinstaller,具体方法请搜索
明明有py27的,我就在用这版本,配套的crt库一齐附上就行,不是啥问题...
from&distutils.core&import&setup
import&py2exe
setup(version&=&&0.1.0&,&
&&&&&&options&=&{&py2exe&&:
&&&&&&&&&&{&bundle_files&:&1,&}},&&#表示把所有的文件打包成唯一一个.exe
&&&&&&zipfile&=&None,&
&&&&&&windows=[{&script&&:&&主程序.py&,&&icon_resources&&:&[(1,&&py.ico&)]}])#图标py.ico
我一股是这么打包的,打包完以后只有两个文件(w9xpopen.exe和你的.exe)
#&-*-&coding:&cp936&-*-
from&distutils.core&import&setup
import&py2exe
setup(version&=&&0.1.0&,&
&&&&&&options&=&{&py2exe&&:
&&&&&&&&&&{&bundle_files&:&1,&}},&&#表示把所有的文件打包成唯一一个.exe
&&&&&&zipfile&=&None,&
&&&&&&windows=[{&script&&:&&close.py&,&&icon_resources&&:&[(1,&&py.ico&)]}])#图标py.ico
我如上写,运行时候报错:ImportError:&No&module&named&py2exe,是不是我安装py2exe不正确或者对应的python2.6不行啊?(我的python是2.7) Python&code
from&distutils.core&import&setup
import&py2exe
setup(version&=&&0.1.0&,&
&&&&&&options&=&{&py2exe&&:
&&&&&&&&&&{&bundle_files&:&1,&}},&&#表示把所有的文件打包成唯一一个.exe
&&&&&&zipfile&=&Non……
您好,感谢您多次帮助我,由于是新手,第一次在实验室做项目,多次问这样简单的问题,给您添麻烦了,但我周围没个人打听,自己又从来没有编写过软件,对于自己查找资料的能力还十分欠缺,再次表示感谢,以后多向您学习!
烦请给我个py2exe的对应于py2.7的下载链接吧,看看能否教给我怎么打包。。如果您嫌麻烦,我自己再找找类似的打包方法资料看看也行,就是我还在代码中用到了个SQLiteDeveloper的数据库(好像之前也是您帮我解决这方面一个问题的),不知会不会影响打包。
明明有py27的,我就在用这版本,配套的crt库一齐附上就行,不是啥问题...
奇怪google第一条一路看下去不就有了,咋找不到?
http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/
这个用的人比较多,文档教程也很详尽,自己找找看看就明了...
回贴。。。
我下了个cx_Freeze用以打包python成exe,点了安装后,安装过程中也没让我选择安装路径,什么快捷方式也没生成(我在“F:\自习室\python打包exe工具”文件夹下点击安装的),也没发现安装完后有什么变化。但显示是安装完成了。我要打包的代码为“F:\自习室\python\Ace”文件夹中的close.py,同时这个文件夹下还有close.py的代码中用到的图片文件夹pic和一个SQL…… &
你真蠢!那个运行时要在cmd中带上参数运行.不是直接双击运行的.
还是不懂就用这个脚本.这个双击就行了
#&-*-&coding:&cp936&-*-
import&sys
print&len(sys.argv)
print&sys.argv[0]
if&len(sys.argv)&2:
&&&&os.system(sys.argv[0]+'&py2exe')
from&distutils.core&import&setup
import&py2exe
setup(windows=[&abc.pyw&])
你下载安装了2.7对应的py2exe以后,在程序目录打开命令行写下面的命令
python&setup.py&py2exe回车
等几秒钟就行了
您好,我的确是太笨了。。我试着打包一个很简单的python程序,代码中用不到图片和数据库等,代码如下:
#&-*-&coding:&cp936&-*-
import&sys
print&len(sys.argv)
print&sys.argv[0]
if&len(sys.argv)&2:
&&&&os.system(sys.argv[0]+'&py2exe')
from&distutils.core&import&setup
import&py2exe
setup(windows=[&C:\Python27\yellow.py&])#这个地方是这么写么?不好意思问您一下。。
报错时候这样:error:&no&commands&supplied 引用楼主&ace_wgk&的回复:
我下了个cx_Freeze用以打包python成exe,点了安装后,安装过程中也没让我选择安装路径,什么快捷方式也没生成(我在“F:\自习室\python打包exe工具”文件夹下点击安装的),也没发现安装完后有什么变化。但显示是安装完成了。我要打包的代码为“F:\自习室\python\Ace”文件夹中的close.py,同时这个文件夹下还有close.py的代……
我这样写代码:
#&-*-&coding:&cp936&-*-
from&distutils.core&import&setup
import&py2exe
setup(version&=&&0.1.0&,&
&&&&&&options&=&{&py2exe&&:
&&&&&&&&&&{&bundle_files&:&1,&}},&&#表示把所有的文件打包成唯一一个.exe
&&&&&&zipfile&=&None,&
&&&&&&windows=[{&script&&:&&C:\Python27\close.py&,&&icon_resources&&:&[(1,&&py.ico&)]}])#图标py.ico
在命令符运行后报错:Resource&filename&‘py.ico’&does&not&exit&
我要打包的程序中用到了两个图片文件夹“Ficemap”“picture”和一个SQLiteDeveloper数据库表格&Data0&该怎么写代码呢?
谢谢您! 引用&8&楼&ace_wgk&的回复:
你下载安装了2.7对应的py2exe以后,在程序目录打开命令行写下面的命令
python&setup.py&py2exe回车
等几秒钟就行了
现在的问题是,打包时候指定额外文件时候我不会写。。我用到了一个数据库和两个图片文件夹。。怎么写datafile?
py.ico’是我电脑里的你当然没有了,&这个要写你自己的图标名字,
关于图片的文件夹,你自己在程序旁边新建文件就行了,根本不用datafile
你程序里是怎么读数据库的就把数据库复制过去就行了
http://hi.csdn.net/attachment//6731112dXx1.png
看这个图片吧,里面exe是打包的,所有其它的图片、数据库文件和文件夹是自己新建的,setup里面只管打包exe就可以了
您好,我按照您的方法一步一步做了,过程中也下载安装了一个exe解决了msvcp90.dll&no&such&file&or&directory的问题。打包成功了,但是我在我的机器上运行打包后的close.exe时候出现了错误,不能运行,并且提示我到close.exe.log去查看错误,里面这样报错:
Traceback&(most&recent&call&last):
&&File&&close.py&,&line&2555,&in&&module&
&&File&&close.py&,&line&13,&in&__init__
&&File&&wx\_windows.pyc&,&line&505,&in&__init__
UnicodeDecodeError:&'gbk'&codec&can't&decode&bytes&in&position&14-15:&illegal&multibyte&sequence
看来好像是编码问题,我的python用的是utf-8(我为了和SQLDeveloper数据库连接方便我曾经对python27的默认编码修改为utf-8,做过设置),是不是这个原因呢?我程序一开始这样写的:
#&-*-&coding:&utf-8&-*-
import&sqlite3&as&lite
import&wx,os,sys,string
import&wx.lib.buttons
import&wx.lib.buttons&as&buttons
from&wxPython.wx&import&*
未打包之前程序可以正常运行啊,我把所用到的图片库和数据库同打包后的close.exe放在了一个文件夹下面,为何会报错呢?不会是上面我说的安装了个dffsetup_msvcp90.exe的原因吧?该怎么解决呢?我打包的setup.py这么写的:
from&distutils.core&import&setup
import&py2exe
setup(windows=[&close.py&])
应该也没问题啊。。。。。。
http://hi.csdn.net/attachment//6731112dXx1.png
看这个图片吧,里面exe是打包的,所有其它的图片、数据库文件和文件夹是自己新建的,setup里面只管打包exe就可以了
提示File&&close.py&,&line&2555,&in&&module&,那就看看或贴上你自己写的代码直接点...
我按照网上一个方法全部将中文部分用unicode('中文部分')包起来了,但是打包成功后运行close.exe依旧有错误:
Traceback&(most&recent&call&last):
&&File&&close.py&,&line&2556,&in&&module&
&&File&&close.py&,&line&13,&in&__init__
UnicodeDecodeError:&'ascii'&codec&can't&decode&byte&0xe4&in&position&0:&ordinal&not&in&range(128)
我把代码贴给你看看吧。。。(我只能输入10000个字符,贴精简的吧,但你也可能看不懂,只是看一下有中文字的部分有没有需要更改的就行了,谢谢!)
#&-*-&coding:&utf-8&-*-
import&sqlite3&as&lite
import&wx,os,sys,string
import&wx.lib.buttons
import&wx.lib.buttons&as&buttons
from&wxPython.wx&import&*
class&InFrame(wx.Frame):
&&&&def&__init__(self,&parent,&id):
&&&&&&&&wx.Frame.__init__(self,&parent,&id,unicode('人机交互检索界面'),size=(800,740),pos=(200,1))
&&&&&&&&panel&=&wx.Panel(self)
&&&&&&&&self.tb&&=&TestTB(panel,id)
&&&&&&&&self.Centre()
&&&&&&&&self.Show(True)&&&&&&&&
&&&&&&&&event.Skip()
class&TestTB(wx.Toolbook):&
&&&&def&__init__(self,parent,id):
&&&&&&&&wx.Toolbook.__init__(self,&parent,&id,size=(800,700),pos=(0,2),style=wx.BK_DEFAULT)
&&&&&&&&panel&=&wx.Panel(self)&&&&&&&&
&&&&&&&&page1&=&PageOne(self)
&&&&&&&&self.AddPage(page1,unicode(&&&&&&使用说明&&&&&),&imageId&=&index1)
&&&&&&&&self.AddPage(page2,unicode(&&&&&&选择检索&&&&&),&imageId&=&index2)
&&&&&&&&self.AddPage(page3,unicode(&&&&&&查看结果&&&&&),&imageId&=&index3)&&&&&&&&&&&&&&&
&&&&&&&&page1.SetFocus()&&&&&&&&&&&&&&
class&PageOne(wx.Panel):
&&&&&def&__init__(self,&parent):
&&&&&&&&&wx.Panel.__init__(self,&parent)&&&&&&&&&
&&&&&&&&&panel&=&wx.Panel(self)
class&PageThree(wx.Panel):
&&&&&def&__init__(self,&parent):&&&&&&&&&&
&&&&&&&&wx.Panel.__init__(self,&parent)
&&&&&&&&self.toolkit&=&parent
&&&&&&&&panel&=&wx.Panel(self)&&&&&&&&
#生成详细结果。&&&&
&&&&&def&SeeResult1(self,text):
&&&&&&&&colour&=&[(255,255,204),(255,&255,&255),(151,253,225),(0,123,167)]
&&&&&&&&self.result1.SetLabel(text)&&&&&&&&
&&&&&&&&if&text==unicode('强壮前沟藻'):
&&&&&&&&&&&&con=lite.connect('Data0')
&&&&&&&&&&&&cur=con.cursor()
&&&&&&&&&&&&cur.execute('Select&*&From&DataCharacters&where&CellId=\'1\'')
&&&&&&&&&&&&ReadFileSeePic=cur.fetchall()
&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&self.multiText.SetLabel(ReadFileSeeDetails[0][15])
&&&&&&&&else:
&&&&&&&&&&&&self.TiShiMap1.SetLabel('')
&&&&&&&&&&&&self.multiText.SetLabel('')&&&&&&&&&&&
############################选择检索######################################
class&PageTwo(wx.Panel):
&&&&&#在PageTwo中设置全局变量以便于进行结果输出中新生成的按钮进行清空处理。
&&&&&flag=0
&&&&&def&__init__(self,&parent,page3):
&&&&&&&&wx.Panel.__init__(self,&parent)&&&&&&&&
&&&&&&&&self.toolkit&=&parent
&&&&&&&&panel&=&wx.Panel(self)&&&&&&&&&&&&&&&&&
#重置事件。
&&&&&def&OnClearMe(self,event):
#“细胞大小”的提示事件。
&&&&&def&OnChoice2(self,event):
&&&&&&&&if&self.choice2.GetStringSelection()==unicode('不确定'):
&&&&&&&&&&&&self.choice2Text.SetLabel('')
#“细胞形态”的提示事件。
&&&&&def&OnChoice3(self,event):
&&&&&&&&if&self.choice3.GetStringSelection()==unicode('不确定'):
&&&&&&&&&&&&self.choice3Text.SetLabel('')
&&&&&&&&&&&&self.show.Destroy()
&&&&&&&&&&&&self.show=wx.StaticBitmap(self,&-1,&wxNullBitmap,&pos=(240,&460),size=(100,120))
&&&&&&&&&&&&self.TiShiMap1.SetLabel('')
&&&&&def&OnChoice4(self,event):
&&&&&&&&if&self.choice4.GetStringSelection()==unicode('不确定'):
&&&&&&&&&&&&self.show4.Destroy()
&&&&&&&&&&&&self.show4=wx.StaticBitmap(self,&-1,&wxNullBitmap,&pos=(195,242),size=(35,31))&&&&&
&&&&&def&OnChoice5&(self,event):
&&&&&&&&if&self.choice5.GetStringSelection()==unicode('不确定'):
&&&&&&&&&&&&self.show5.Destroy()
&&&&&&&&&&&&self.show5=wx.StaticBitmap(self,&-1,&wxNullBitmap,&pos=(375,&460),size=(100,120))
&&&&&&&&&&&&self.TiShiMap5.SetLabel('')
&&&&&def&OnChoice6(self,event):
&&&&&&&&if&self.choice6.GetStringSelection()==unicode('不确定'):
&&&&&&&&&&&&self.show6.Destroy()
&&&&&&&&&&&&self.show6=wx.StaticBitmap(self,&-1,&wxNullBitmap,&pos=(510,&460),size=(100,120))
&&&&&&&&&&&&self.TiShiMap6.SetLabel('')
&&&&&&&&else:
&&&&&&&&&&&&if&self.choice6.GetStringSelection()==unicode('直链状群体'):
&&&&&&&&&&&&&&&&self.TiShiMap6.SetLabel(unicode('直链状群体:'))
&&&&&&&&&&&&&&&&con=lite.connect('Data0')
&&&&&&&&&&&&&&&&cur=con.cursor()
&&&&&&&&&&&&&&&&cur.execute('Select&*&From&DataCharacters&where&CellId=\'20\'')
&&&&&&&&&&&&&&&&ReadFileCF=cur.fetchall()
&&&&&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&&&&&img&=&wx.Image(ReadFileCF[0][11],wx.BITMAP_TYPE_ANY).Scale(100,120)
&&&&&&&&&&&&&&&&self.show6.SetBitmap(wx.BitmapFromImage(img))&&&&&&&&&&&
&&&&&def&PageChange1(self,event):
&&&&&&&&self.page3.SeeResult1(self.Last1)
&&&&&&&&self.toolkit.SetSelection(2)&&&&&&&&
&&&&&def&OnFindMe(self,event):&&&&&&&&
&&&&&&&&unsure=[unicode('不确定'),]
&&&&&&&&nothing=['',]
&&&&&&&&null=[unicode('无'),]
&&&&&&&&global&flag
&&&&&&&&if&flag==42:
&&&&&&&&&&&&self.detailButton1.Destroy()
&&&&&&&&else:
&&&&&&&&&&&&flag=0
&&&&&&&&self.choice&=&[self.choice1,&self.choice2,&self.choice3,
&&&&&&&&&&&&&&&&&&&&&&&self.choice4,&self.choice5,self.choice6]
&&&&&&&&self.str&=&[self.str1,self.str2,self.str3,self.str4,self.str5,self.str6]
&&&&&&&&for&i&in&range(1,&7):
&&&&&&&&&&&&self.str[i-1]=self.choice[i-1].GetStringSelection()
&&&&&&&&if&(self.str[0]==unsure[0]&or&self.str[0]==nothing[0])&and&(self.str[1]==unsure[0]&or&self.str[1]==nothing[0])and&(self.str[2]==unsure[0]&or&self.str[2]==nothing[0])&and&(self.str[3]==unsure[0]&or&self.str[3]==nothing[0])and&(self.str[4]==unsure[0]&or&self.str[4]==nothing[0])&and&(self.str[5]==unsure[0]&or&self.str[5]==nothing[0])&:
&&&&&&&&&&&&#下面新建对话框并完成设置。
&&&&&&&&&&&&dlg&=&wx.MessageDialog(None,&unicode(&请您输入检索信息&),unicode('提示'),
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&wx.OK|&wx.ICON_EXCLAMATION)
&&&&&&&&&&&&retCode&=&dlg.ShowModal()
&&&&&&&&&&&&if&(retCode&==&wx.ID_YES):
&&&&&&&&&&&&&&&&dlg.Destroy()&&&&&&&&&&&&
&&&&&&&&else&:
&&&&&&&&&&&&self.detailButton1&=&wx.Button(self,&label=unicode(&查看详细信息&),&pos=(643,&214),
&&&&&&&&&&&&&&&&size=(90,25))
&&&&&&&&#文件事件。
&&&&&&&&&&&&def&compare():
&&&&&&&&&&&&&&&&if&self.str[0]==ReadFile[0][2]&or&self.str[0]==unsure[0]or&self.str[0]==nothing[0]:
&&&&&&&&&&&&&&&&&&&&&&&&LifeStyle=1
&&&&&&&&&&&&&&&&else:
&&&&&&&&&&&&&&&&if&self.str[4]==ReadFile[0][6]&or&self.str[4]==unsure[0]or&self.str[4]==nothing[0]:
&&&&&&&&&&&&&&&&&&&&&&&&character=1
&&&&&&&&&&&&&&&&else:
&&&&&&&&&&&&&&&&&&&&&&&&character=0
&&&&&&&&&&&&&&&&return&list1
&&&&&&&&&&&&#访问并计算文件中第一行的藻种的匹配概率。
&&&&&&&&&&&&Possibility=[0,]&&&&&&&&&&&&
&&&&&&&&&&&&con=lite.connect('Data0')
&&&&&&&&&&&&cur=con.cursor()
&&&&&&&&&&&&cur.execute('Select&*&From&DataCharacters&where&CellId=\'1\'')
&&&&&&&&&&&&ReadFile=cur.fetchall()
&&&&&&&&&&&&data=compare()
&&&&&&&&&&&&Possibility1=0.05*data[0]+0.05*data[1]+0.1*data[2]+0.05*data[3]+0.45*data[4]+0.3*data[5]
&&&&&&&&&&&&Possibility.append(Possibility1)
&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&cur.close()&&&&&&&&
&&&&&&&&&&&&#计算寻找最接近目的藻种的前三种藻类的概率值和行号事件。
&&&&&&&&&&&&def&Max():
&&&&&&&&&&&&&&&&Max=Possibility[1]
&&&&&&&&&&&&&&&&LineNumber=1
&&&&&&&&&&&&&&&&for&i&in&range(1,43):
&&&&&&&&&&&&&&&&&&if&Max&Possibility[i]:
&&&&&&&&&&&&&&&&&&&&&&Max=Possibility[i]
&&&&&&&&&&&&&&&&&&&&&&LineNumber=i
&&&&&&&&&&&&&&&&return&[Max,LineNumber]
&&&&&&&&&&&&Biggest=Max()
&&&&&&&&&&&&Possibility[Biggest[1]]=0
&&&&&&&&&&&&Bigger=Max()
&&&&&&&&&&&&Possibility[Bigger[1]]=0
&&&&&&&&&&&&Big=Max()
&&&&&&&&self.page3.SeeResult1(self.Last1)
if&__name__&==&'__main__':
&&&&&app&=&wx.PySimpleApp()
&&&&&frame&=&InFrame(parent=None,&id=-1)
&&&&&frame.Show()
&&&&&app.MainLoop()
提示File&&close.py&,&line&2555,&in&&module&,那就看看或贴上你自己写的代码直接点...
你这个有line&2555吗?
if&__name__&==&'__main__':
&&&&&app&=&wx.PySimpleApp()###这是2555行,方便的话,给我您的邮箱我发给您所有代码和相关资料,您看看吧!
&&&&&frame&=&InFrame(parent=None,&id=-1)
&&&&&frame.Show()
&&&&&app.MainLoop()
你这个有line&2555吗?
改成#&-*-&coding:&gbk&-*-&试试&
程序要双击打开.py文件运行通过才可以顺利打包成exe,打包前要调试好
我的程序运行成功了,但是打包后不行。。我上面给您回复了,你说的改成gbk也不行我试过了,我本来就是utf-8的编码。。唉。。。要哭了。。。。 改成#&-*-&coding:&gbk&-*-&试试&
程序要双击打开.py文件运行通过才可以顺利打包成exe,打包前要调试好
如果是通过双击打开.py文件运行成功的&&打包完不应该不能用吧。
如果是在其它的实验环境里运行成功的会有可能不行,比如我在eric4里面运行成功的文件,在windows下双击打开就中文报错,不报错就没有问题了,我也没见过不报错还不能运行的
你文件头coding:utf-8但用unicode函数未指定编码默认就能跑脚本,动了啥不该动的吧...
我动了这个地方:/dushm/blog/item/95597acb5373431dbe09e6af.html我从这里找的,就学着修改了。。该怎么办呢? 你文件头coding:utf-8但用unicode函数未指定编码默认就能跑脚本,动了啥不该动的吧...
的确是在我的机器上能运行py代码文件(双击),但是打包之后就说让我到那个文件里查看错误,就出现这样的问题了
如果是通过双击打开.py文件运行成功的&打包完不应该不能用吧。
如果是在其它的实验环境里运行成功的会有可能不行,比如我在eric4里面运行成功的文件,在windows下双击打开就中文报错,不报错就没有问题了,我也没见过不报错还不能运行的
正常状况setdefaultencoding是藏起来的不让用的,不就显式unicode(string,&'utf-8')就得了,别搞偏方...
如您所说,我把我之前添加的那个py文件删除了(你说是偏方的那个),把文件头改成:
#&-*-&coding:&cp936&-*-
import&sqlite3&as&lite
import&wx,os,sys,string
import&wx.lib.buttons
import&wx.lib.buttons&as&buttons
from&wxPython.wx&import&*
其中的中文部分用下面方法包起来(下面基本是我代码里所有用到中文的地方,您看看有啥问题么):
我运行后这样报错:
Traceback&(most&recent&call&last):
&&File&&C:\Python27\close.py&,&line&2576,&in&&module&
&&&&frame&=&InFrame(parent=None,&id=-1)
&&File&&C:\Python27\close.py&,&line&13,&in&__init__
&&&&wx.Frame.__init__(self,&parent,&id,unicode('人机交互检索界面'),size=(800,740),pos=(200,1))
UnicodeDecodeError:&'ascii'&codec&can't&decode&byte&0xc8&in&position&0:&ordinal&not&in&range(128)
&&&&&&&&manage=wx.MenuItem(file,&1,&unicode(&&管理(M)\tCtrl+M&))
&&&&&&&&imgManage&=&wx.Image('FacePic/manage.png',wx.BITMAP_TYPE_ANY).Scale(22,22)
&&&&&&&&dlgManage=wx.Dialog.__init__(self,&parent,&id,&unicode('管理员登录'))
&&&&&&&&self.AddPage(page3,unicode(&&&&&&查看结果&&&&&),&imageId&=&index3)
&&&&&&&&if&text==unicode('强壮前沟藻'):
&&&&&&&&&&&&self.TiShiMap1.SetLabel(unicode('强壮前沟藻图例:'))
&&&&&&&&&&&&con=lite.connect('Data0')
&&&&&&&&&&&&cur=con.cursor()
&&&&&&&&&&&&cur.execute('Select&*&From&DataCharacters&where&CellId=\'1\'')
&&&&&&&&&&&&ReadFileSeePic=cur.fetchall()
&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&con=lite.connect('Data0')
&&&&&&&&&&&&cur1=con.cursor()
&&&&&&&&&&&&cur1.execute('Select&*&From&DataDetails&where&cell_name=\'强壮前沟藻\'')
&&&&&&&&&&&&ReadFileSeeDetails=cur1.fetchall()
&&&&&&&&&&&&cur1.close()
&&&&&&&&&&&&cur1.close()&
&&&&&&&&&&&&self.choice6.Append(unicode('直链状群体'))
&&&&&&&&&&&&if&self.choice3.GetStringSelection()==unicode('新月形'):
&&&&&&&&&&&&&&&&self.TiShiMap1.SetLabel(unicode('新月形图例:'))
&&&&&&&&&&&&&&&&con=lite.connect('Data0')
&&&&&&&&&&&&&&&&cur=con.cursor()
&&&&&&&&&&&&&&&&cur.execute('Select&*&From&DataCharacters&where&CellId=\'1\'')
&&&&&&&&&&&&&&&&ReadFileCF=cur.fetchall()
&&&&&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&&&&&cur.close()
&&&&&&&&&&&&&&&&self.detailButton1&=&wx.Button(self,&label=unicode(&查看详细信息&),&pos=(643,&214),
&&&&&&&&&&&&&&&&size=(90,25))
正常状况setdefaultencoding是藏起来的不让用的,不就显式unicode(string,&'utf-8')就得了,别搞偏方...
本问题已经完美解决。把上面我提到的旁门左道(默认编码设置的修改)去掉,源代码中中文部分用.decode('utf-8')更改,可运行,可打包。谢谢大家。把分分给提供主要帮助的大家!分不多,抱歉!
打包exe,我是用的PyInstaller,感觉非常好用。
比py2exe好用多了去了。
需要的可参考:
【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件请问怎么把VS2005(c++)生成的.EXE文件打包成安装包呀~
[问题点数:20分,结帖人wren917403]
请问怎么把VS2005(c++)生成的.EXE文件打包成安装包呀~
[问题点数:20分,结帖人wren917403]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年5月 C/C++大版内专家分月排行榜第二2010年9月 C/C++大版内专家分月排行榜第二
2009年11月 C/C++大版内专家分月排行榜第三
2011年2月 C/C++大版内专家分月排行榜第二2010年2月 C/C++大版内专家分月排行榜第二2009年12月 C/C++大版内专家分月排行榜第二2009年11月 C/C++大版内专家分月排行榜第二
2009年10月 C/C++大版内专家分月排行榜第三
2011年2月 C/C++大版内专家分月排行榜第二2010年2月 C/C++大版内专家分月排行榜第二2009年12月 C/C++大版内专家分月排行榜第二2009年11月 C/C++大版内专家分月排行榜第二
2009年10月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 xp傻瓜安装包 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信