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.

Reply via email to