On Tue, Mar 30, 2010 at 2:04 PM, Peter Scheie <[email protected]> wrote:
> > > On Tue, Mar 30, 2010 at 1:51 PM, Giovanni Bajo <[email protected]> wrote: > >> On Tue, 2010-03-30 at 13:24 -0500, Peter Scheie wrote: >> > >> > >> > On Mon, Mar 29, 2010 at 4:36 PM, Giovanni Bajo <[email protected]> >> > wrote: >> > On Mon, 2010-03-29 at 14:15 -0700, Peter wrote: >> > >> > > So, then I tried the approach suggested at >> > > >> > >> http://www.mail-archive.com/[email protected]/msg01210.html, >> > > adding >> > > 'a.data += [('c:\\fdu-build >> > \mkisofs.exe','DATA','/temp/mkisofs.exe')]' >> > > to the spec file. But that produces this error: >> > > 'AttributeError: Analysis instance has no attribute 'data'. >> > >> > >> > Typo here, you should try with "datas" instead of data, as >> > seen here: >> > >> > > # -*- mode: python -*- >> > > a = Analysis([os.path.join(HOMEPATH,'support\ >> > \_mountzlib.py'), >> > > os.path.join(HOMEPATH,'support\\useUnicode.py'), >> > 'makeisogui.py'], >> > > pathex=['C:\\fdu-build']) >> > > a.data += >> > [('/fdu-build/mkisofs.exe','DATA','/temp/mkisofs.exe')] >> > > pyz = PYZ(a.pure) >> > > exe = EXE( pyz, >> > > a.scripts, >> > > a.binaries, >> > > a.zipfiles, >> > > a.datas, >> > >> > ^^^^^^^^ >> > >> > The correct line is something like this: >> > >> > a.datas += [('\\your\\path\\to\\mkisofs.exe', 'DATA', >> > 'mkisofs.exe')] >> > >> > Then, you will find the file in the temporary directory whose >> > name is >> > stored at runtime in os.environ['_MEIPASS2']. >> > >> > All of this will eventually become smoother of course, it's >> > just a >> > matter of time :) >> > >> > -- >> > Giovanni Bajo :: [email protected] >> > Develer S.r.l. :: http://www.develer.com >> > >> > Yay, that worked! Thanks. Actually, it works but I'm getting some >> > weird behavior. I first changed the spec file in a directory on the >> > local drive (C:) of my Windows VM, and it worked, as mentioned. Then, >> > I used the same script, spec file and mkisofs.exe but sitting on a >> > network drive (V:) exported from my Ubuntu box via samba; this time it >> > failed, saying >> > >> > "Cannot find ("V:\pythonstuff\fdu-build >> > \mkisofs.exe','DATA','mkisofs.exe', 0,'b') >> > <several lines of traceback> >> > IOError: [Errno 2] No such file or directory: 'DATA' >> >> Can you please post the complete traceback? >> >> -- >> Giovanni Bajo :: [email protected] >> Develer S.r.l. :: http://www.develer.com >> >> My Blog: http://giovanni.bajo.it >> Last post: C++ and copy-on-write data structures >> >> -- >> You received this message because you are subscribed to the Google Groups >> "PyInstaller" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<pyinstaller%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/pyinstaller?hl=en. >> >> > Here it is. Note that here I'm trying to include a different file, > zeus.p12, into the onefile. > > C:\fdu>c:\Python25\python.exe c:\pyinstaller\Build.py copyfile.spec > checking Analysis > checking PYZ > checking PKG > building because outPKG3.toc missing or bad > building PKG outPKG3.pkg > Cannot find ('/fdu/zeus.p12', 'DATA', 0, 'b') > > Traceback (most recent call last): > File "c:\pyinstaller\Build.py", line 1160, in <module> > main(args[0], configfilename=opts.configfile) > File "c:\pyinstaller\Build.py", line 1148, in main > build(specfile) > File "c:\pyinstaller\Build.py", line 1111, in build > execfile(spec) > File "copyfile.spec", line 15, in <module> > console=True ) > File "c:\pyinstaller\Build.py", line 661, in __init__ > strip_binaries=self.strip, upx_binaries=self.upx, crypt=self.crypt) > File "c:\pyinstaller\Build.py", line 561, in __init__ > self.__postinit__() > File "c:\pyinstaller\Build.py", line 196, in __postinit__ > self.assemble() > File "c:\pyinstaller\Build.py", line 618, in assemble > archive.build(self.name, mytoc) > File "c:\pyinstaller\archive.py", line 229, in build > self.add(tocentry) # the guts of the archive > File "c:\pyinstaller\carchive.py", line 235, in add > s = open(pathnm, 'rb').read() > > IOError: [Errno 2] No such file or directory: 'DATA' > By the way, in the spec file I've tried multiple syntaxes: a.datas += [('C:\\fdu\\zeus.p12','DATA','zeus.p12')] a.datas += [('C:/fdu/zeus.p12','DATA','zeus.p12')] a.datas += [('\\fdu\\zeus.p12','DATA','zeus.p12')] a.datas += [('/fdu/zeus.p12','DATA','zeus.p12')] They all produce the same error, shown in my previous message. Peter -- You received this message because you are subscribed to the Google Groups "PyInstaller" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pyinstaller?hl=en.
