Cannot find binary files error

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Cannot find binary files error

Parkway
This project is on Ubuntu 12.04 with PyInstaller 2.0 and is organized into separate folders for .py, .pyx, .so and pyinstaller files.  The .spec file includes the statement:

a.binaries + [("myconst", "/home/ubuntu/Programs/myproject_so", "BINARY"), ...],

The .so files have been generated (and located in the .so directory). PyInstaller is executed with: 

(bs)~/Programs/pyinstaller-2.0$ python pyinstaller.py --onefile ~/Programs/myproject_pi2/myproject.spec

generates the following error:

Cannot find ('myconst', '/home/ubuntu/Programs/myproject_so', 1, 'b')
 
Traceback (most recent call last):
  File "pyinstaller.py", line 91, in <module>
    main()
  File "pyinstaller.py", line 86, in main
    run_build(opts, spec_file)
  File "pyinstaller.py", line 50, in run_build
    PyInstaller.build.main(spec_file, **opts.__dict__)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 1625, in main
    build(specfile, buildpath)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 1582, in build
    execfile(spec)
  File "/home/ubuntu/Programs/myproject_pi2/myproject.spec", line 24, in <module>
    console=True )
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 987, in __init__
    crypt=self.crypt)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 880, in __init__
    self.__postinit__()
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 315, in __postinit__
    self.assemble()
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 933, in assemble
    archive.build(self.name, mytoc)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/loader/archive.py", line 199, in build
    self.add(tocentry)   # the guts of the archive
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/loader/carchive.py", line 225, in add
    s = open(pathnm, 'rb').read()
 
IOError: [Errno 21] Is a directory: '/home/ubuntu/Programs/myproject_so'

Have I missed something obvious?

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/pyinstaller?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Zak
Reply | Threaded
Open this post in threaded view
|

Re: Cannot find binary files error

Zak
The format of the tuple that you gave to a.binaries may not be correct. Here is a tuple from my PyInstaller/Cython project that works:

a.binaries + [(
    'usb_comm.so',
    '/home/zakf/pyi_projects/usb_comm.so',
    'BINARY')]

The above format definitely works for me. I include the .so suffix in both the first and second strings, and I include the full path including the filename in the second string, not just the parent directory.

Another tip (I know it is on the PyInstaller wiki): Always try --onedir mode first. Make sure --onedir mode works, make sure it is packaging everything, and then you can attack --onefile. In this particular case it probably doesn't matter.

Zak Fallows

On 3/19/13 5:32 PM, dbv wrote:
This project is on Ubuntu 12.04 with PyInstaller 2.0 and is organized into separate folders for .py, .pyx, .so and pyinstaller files.  The .spec file includes the statement:

a.binaries + [("myconst", "/home/ubuntu/Programs/myproject_so", "BINARY"), ...],

The .so files have been generated (and located in the .so directory). PyInstaller is executed with: 

(bs)~/Programs/pyinstaller-2.0$ python pyinstaller.py --onefile ~/Programs/myproject_pi2/myproject.spec

generates the following error:

Cannot find ('myconst', '/home/ubuntu/Programs/myproject_so', 1, 'b')
 
Traceback (most recent call last):
  File "pyinstaller.py", line 91, in <module>
    main()
  File "pyinstaller.py", line 86, in main
    run_build(opts, spec_file)
  File "pyinstaller.py", line 50, in run_build
    PyInstaller.build.main(spec_file, **opts.__dict__)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 1625, in main
    build(specfile, buildpath)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 1582, in build
    execfile(spec)
  File "/home/ubuntu/Programs/myproject_pi2/myproject.spec", line 24, in <module>
    console=True )
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 987, in __init__
    crypt=self.crypt)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 880, in __init__
    self.__postinit__()
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 315, in __postinit__
    self.assemble()
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/build.py", line 933, in assemble
    archive.build(self.name, mytoc)
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/loader/archive.py", line 199, in build
    self.add(tocentry)   # the guts of the archive
  File "/home/ubuntu/Programs/pyinstaller-2.0/PyInstaller/loader/carchive.py", line 225, in add
    s = open(pathnm, 'rb').read()
 
IOError: [Errno 21] Is a directory: '/home/ubuntu/Programs/myproject_so'

Have I missed something obvious?
--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/pyinstaller?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/pyinstaller?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Cannot find binary files error

Parkway
Ah, okay - will try that.  

Though, it is contrary to what the manual says ie. the tuple is of the form: (name, path, typecode) - if it works when the path includes the name then no need to have name as a separate item.


--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/pyinstaller?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Cannot find binary files error

Steve Barnes
On 19/03/13 23:59, dbv wrote:
Ah, okay - will try that.  

Though, it is contrary to what the manual says ie. the tuple is of the form: (name, path, typecode) - if it works when the path includes the name then no need to have name as a separate item.


I think that the reason for having a separate name and path(including name) is to cope with situations where the module name is in a binary file called SomeOtherName.
--
Steve Gadget Barnes

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/pyinstaller?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.