I'm using the most recent 1.1.4 version of pyglet, which I installed
from the binary and I'm using the 2.5.1 version of Python that shipped
with OS X 10.5. Would updating python fix the problem?
On Aug 1, 2010, at 2:55 AM, Ronald Oussoren wrote:
On 31 Jul, 2010, at 23:02, Nathan Lemoine wrote:
Running the testing application in the command line did confirm
that the pyglet module isn't being found:
File "/Users/Nate/dist/tester.app/Contents/Resources/__boot__.py",
line 160, in _run
execfile(path, globals(), globals())
File "/Users/Nate/Desktop/tester.py", line 1, in <module>
import pyglet
ImportError: No module named pyglet
Is there a way to manually add the path for pyglet to py2app's
search or in the setup.py file to force the module to be loaded?
This is very odd. Which version of Python do you use? And likewise
for pyglet?
I've installed pyglet for python 2.6 using the 1.1.4 binary
installer on their site, and used "easy_install-2.7 pyglet" to
install the python parts for python 2.7. Both result in a working
application bundle.
There is misfeature in pyglet that makes this bundle not-quite-
standalone though, the pyglet sources explicitly load /usr/local/
lib/libavbin.dylib using ctypes. I could create a py2app recipe
that copies libavbin.dylib into the application bundle, but that
will probably not be used without patching the pyglet sources.
I've attached the scripts I used to test.
Ronald
<setup.py><runner.py>
On Jul 30, 2010, at 1:54 AM, Ronald Oussoren wrote:
On 30 Jul, 2010, at 2:59, Nathan Lemoine wrote:
I installed the 0.5.2 update, and I've tried making just a very
simple pyglet app to play a movie file so that you all could try
it if you want on your python distributions:
import pyglet
vidPath="video.avi" ##put the path to a video file here
window = pyglet.window.Window()
source = pyglet.media.StreamingSource()
MediaLoad = pyglet.media.load(vidPath)
player = pyglet.media.Player()
player.queue(MediaLoad)
player.play()
@window.event
def on_draw():
player.get_texture().blit(0,0)
pyglet.app.run()
Thanks for the demo, that will definitly help in reproducing and
fixing the problem.
Executing python setup.py py2app still gives me the same error:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/py2app-0.5.2-py2.5.egg/
py2app/build_app.py", line 604, in _run
self.run_normal()
File "/Library/Python/2.5/site-packages/py2app-0.5.2-py2.5.egg/
py2app/build_app.py", line 675, in run_normal
self.create_binaries(py_files, pkgdirs, extensions, loader_files)
File "/Library/Python/2.5/site-packages/py2app-0.5.2-py2.5.egg/
py2app/build_app.py", line 739, in create_binaries
dry_run=self.dry_run)
File "/Library/Python/2.5/site-packages/py2app-0.5.2-py2.5.egg/
py2app/util.py", line 376, in byte_compile
if force or newer(mod.filename, cfile):
File "/Library/Python/2.5/site-packages/py2app-0.5.2-py2.5.egg/
py2app/util.py", line 172, in newer
msource = get_mtime(source)
File "/Library/Python/2.5/site-packages/py2app-0.5.2-py2.5.egg/
py2app/util.py", line 164, in get_mtime
info = zf.getinfo(rest)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/
lib/python2.5/zipfile.py", line 462, in getinfo
return self.NameToInfo[name]
KeyError: 'pyglet/__init__.pyc'
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/zipfile.py(462)getinfo()
-> return self.NameToInfo[name]
(Pdb)
I ran it in alias mode as well and it bundled 'tester.app'
successfully. When I attempted to run the bundle, I just got a
dialog box that said 'tester Error' and brought me to the
MacPython website. I'm not sure how to find out what the issue is
with the aliased bundle.
You can run the app from the command-line: test.app/Contents/
MacOS/tester
When you do that you'll get error messages in your terminal
window, and those should explain what's going on. I expect that
pyglet cannot be found.
Thanks for the help so far! I really appreciate it. I don't think
I could figure this out on my own
I haven't had time to look into this issue specifically, I'll do
so in the near future.
Ronald
On Jul 29, 2010, at 2:34 AM, Ronald Oussoren wrote:
On 29 Jul, 2010, at 8:09, Ronald Oussoren wrote:
On 28 Jul, 2010, at 18:38, Nathan Lemoine wrote:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/py2app-0.5-py2.5.egg/
py2app/build_app.py", line 602, in _run
self.run_alias()
File "/Library/Python/2.5/site-packages/py2app-0.5-py2.5.egg/
py2app/build_app.py", line 548, in run_alias
dst = self.build_alias_executable(target, target.script)
File "/Library/Python/2.5/site-packages/py2app-0.5-py2.5.egg/
py2app/build_app.py", line 1145, in build_alias_executable
appdir, resdir, plist = self.create_bundle(target, script)
File "/Library/Python/2.5/site-packages/py2app-0.5-py2.5.egg/
py2app/build_app.py", line 1131, in create_bundle
use_runtime_preference=use_runtime_preference
File "/Library/Python/2.5/site-packages/py2app-0.5-py2.5.egg/
py2app/build_app.py", line 1120, in create_appbundle
extension=self.extension,
File "/Library/Python/2.5/site-packages/py2app-0.5-py2.5.egg/
py2app/create_appbundle.py", line 34, in create_appbundle
copy(srcmain, destmain)
File "/Library/Python/2.5/site-packages/py2app-0.5-py2.5.egg/
py2app/util.py", line 233, in mergecopy
return macholib.util.mergecopy(src, dest)
File "build/bdist.macosx-10.5-i386/egg/macholib/util.py", line
111, in mergecopy
copy2(src, dest)
File "build/bdist.macosx-10.5-i386/egg/macholib/util.py", line
43, in copy2
shutil.copy2(fsencoding(src), fsencoding(dst))
File "/System/Library/Frameworks/Python.framework/Versions/2.5/
lib/python2.5/shutil.py", line 91, in copy2
copyfile(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/
lib/python2.5/shutil.py", line 46, in copyfile
fsrc = open(src, 'rb')
IOError: [Errno 2] No such file or directory: '/Library/Python/
2.5/site-packages/py2app-0.5-py2.5.egg/py2app/apptemplate/
prebuilt/main-i386'
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/shutil.py(53)copyfile()
-> fsrc.close()
I went into the Python Framework folder and the only prebuilt
executeable in there is 32bit one, there isn't a main-i386
file. Am I missing a file?
You aren't missing a file, py2app doesn't have a main-i386
file. As a quick workaround you can copy /Library/Python/2.5/
site-packages/py2app-0.5-py2.5.egg/py2app/apptemplate/prebuilt/
main-fat to /Library/Python/2.5/site-packages/py2app-0.5-
py2.5.egg/py2app/apptemplate/prebuilt/main-i386.
I will tweak py2app to better handle this, that will be in the
next release (0.5.2, hopefully later this week).
I've upload py2app 0.5.2. With this version I can build a pyobjc
application using python 2.5 (without the IOError exception),
the pyglet error is not yet fixed.
Ronald
_______________________________________________
Pythonmac-SIG maillist - Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG