Homebrew / legacy-homebrew

💀 The former home of Homebrew/homebrew (deprecated)
https://brew.sh
26.96k stars 11.34k forks source link

py2app on Mac OS 10.6.6 #4750

Closed DimiG closed 13 years ago

DimiG commented 13 years ago

This issue not directly to homebrew, but maybe anyone knows.

I have MacOS 10.6.6, python 2.7.1 installed by homebrew and py2app (py2app-0.5.2-py2.7.egg)

When I try to make MacApp by:

$ python setup.py py2app -A

I get error (think architecture identification problem):

IOError: [Errno 2] No such file or directory: '/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/py2app-0.5.2-py2.7.egg/py2app/apptemplate/prebuilt/main-x86_64'

My setup.py:

"""

This is a setup.py script generated by py2applet

Usage: python setup.py py2app

"""

from setuptools import setup

APP = ['test.py'] DATA_FILES = [] OPTIONS = {'argv_emulation': True}

setup( app=APP, data_files=DATA_FILES, options={'py2app': OPTIONS}, setup_requires=['py2app'], )

_

Do anyone know any remedy, or drop this py2app and find something else as working alternative? Thanks

ghost commented 13 years ago

Care to test out http://www.pip-installer.org/ ?

It's available via Homebrew: $ brew install pip

$ pip install py2app

DimiG commented 13 years ago

Thanks Birger, homebrew rule ;) I didn't know about pip. Had to reinstall all packages via homebrew and pip.

The py2app exist on Mac OS 10.6.6 from the box. And it is located at: /System/Library/Frameworks/Python.framework/Versions/2.5/Extras/ and /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/

It works without error with original python 2.6, but when I install 2.7.1 by homebrew it starts complain on main-x86_64. So, my next step was the installation the new py2app via pip as you wrote above. The result was same. It complain on main-x86_64 again. Next step, I did such trick: $ cd /usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/py2app/apptemplate/prebuilt/ $ ln -s main-universal main-x86_64 Now it compile without error ;) But don't know if such way is correct?

ghost commented 13 years ago

Strange. This is not what I needed to do to make my Py2app work out of the box.

May I ask you to run the following: sudo chown -R $USER /Library/Ruby /Library/Perl /Library/Python

After; $ brew remove pip, $ brew remove distribute, $ brew remove python, $ brew cleanup, $ brew prune

And reinstall, all in reverse order.

DimiG commented 13 years ago

I did it already before I wrote above. When I uninstall everything py2app start working without complain, but just I install python 2.7.1 from homebrew it starts complain. Actually it is well known issue for py2app. This py2app version 0.5.2 don't know the 64bit architecture in Snow Leopard. Just google-fu and you'll find. As remedy is make a link, but py2app tries make the 10.4 binary anyway ;)

adamv commented 13 years ago

I don't use Py2App myself, but I'm not surprised that the OS X provided one works fine against the System Python and not so well against a Homebrew-provided Python.

DimiG commented 13 years ago

Adam, Do you use something else?

ghost commented 13 years ago

I think Adam refers to use pip with the Python installed via Homebrew. Or am I mistaken, Adam?

DimiG commented 13 years ago

BTW when I do: $ brew cleanup I get Warning: Skipping keg-only gettext How to destroy this message? And what brew prune actually do?

ghost commented 13 years ago

No worries about that message. It's only telling you that you have several keg-only formulae installed. They are left there, so older programs don't break.

$ brew prune : Removes dead symlinks.

DimiG commented 13 years ago

Should I find the way to leave only one keg-only formula installed?

Birger: I made the test as you wrote above, removed pip and python, and the original py2app create bdist.macosx-10.6-universal package. But with homebrew installed python 2.7.1, after my hack it creates bdist.macosx-10.4-x86_64 ;) Sure, for me is not so important to use py2app, and more convenient to use pip for modern 2.7.1 So, I left homebrew python 2.7.1

The last question is, what is the better python GUI framework you could advice? (Tkinter, wxPython, pyGTK, pyQT ...) The most correct way is to use pyObjC, but for fast GUI application writing what you would recommend? Or really better concentrate on pyObjC cause py2app broken and I can't distribute this program then? Sorry my complicated sentences.

adamv commented 13 years ago

For py2app work, perhaps an official packaged framework installer would be a better choice: http://python.org/download/releases/2.7.1/

DimiG commented 13 years ago

Thanks Adam. How about GUI for python? What do you recommend?

adamv commented 13 years ago

I don't actually do any GUI python programming myself, mostly command-line and web work.