On 1 December 2014 at 23:57, Ned Deily <n...@acm.org> wrote: > [duplicate reply as the first seems to have disappeared] > > In article > <cacgdh2hoqfsdrfdpblnheeppowquoqskf_bgdovga7+z05e...@mail.gmail.com>, > Paul Wiseman <poal...@gmail.com> wrote: > > I don't think it's either of those. I think that hashlib.py must have > > changed in 2.7.9 from 2.7.8 (no longer has > _hashlib.openssl_md_meth_names) so > > the built app (running 2.7.8) expected that attribute to be there, but > > somehow py2app or my usage of it is causing it to look in the system > > libraries over the frozen libraries. Installing 2.7.8 again hides the > issue > > because whichever hashlib it uses would have the same behaviour because > > they'll be identical (both from v2.7.8) > > > In any case, a fresh install seems to have solved the problem. > > > On Dec 1, 2014, at 7:29 AM, Paul Wiseman <poal...@gmail.com> wrote: > > > I have a frozen app installed (built on a different machine using > python > > > 2.7.8 32/ppc) > > > > > > I Installed python 2.7.9rc1 (32/pcc python.org installer) and I > started > > > seeing errors from the built app on startup > > > > > > the error occurred from import hashlib > > > > > > File > > > > "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py" > > > , > > > line 138, in <module> > > > _hashlib.openssl_md_meth_names) > > > AttributeError: 'module' object has no attribute > 'openssl_md_meth_names' > > > > > > Installing 2.7.8 again on this machine, and the frozen app started > working > > > again with no other changes. > > > > > > Is this a problem with my setup or an issue with the freezing process? > > The whole point of using py2app in normal, non-alias mode is to provide > a self-contained, standalone app not dependent on any external > Python-provided infrastructure, e.g. py files or extension modules or > shared libs so something is wrong here. The 'openssl_md_meth_names' was > added to _hashlib.so for 2.7.9 (along with a lot of other changes to > support the backport of upgraded ssl functionality from Python 3) so > what appears to be happening here is that something in your app is > incorrectly importing hashlib.py from the 2.7.9 installation in > /Library/Frameworks along with (correctly) importing _hashlib.so from > your py2app-produced app bundle.
Yea I think you're right- I'm pretty sure that's what it must be > I'm no expert on py2app but I did > verify that a very simple app that used hashlib and was built with a > current py2app and 2.7.8 did, in fact, work correctly when run in the > presence of 2.7.9rc1. So the question is what is going on with your > app. Questions that come to mind: (1) What is the full traceback (e.g. > which file causes hashlib to be imported)? (2) What is the value of > sys.path at that point? (3) What third-party modules are installed in > the app and were any installed after using py2app? > > This is the full traceback: Traceback (most recent call last): File "/Applications/Utility.app/Contents/Resources/__boot__.py", line 316, in <module> _run() File "/Applications/Utility.app/Contents/Resources/__boot__.py", line 311, in _run exec(compile(source, path, 'exec'), globals(), globals()) File "/Applications/Utility.app/Contents/Resources/context_main.py", line 3, in <module> from PythonApp.context.context import main File "PythonApp/context/context.pyc", line 3, in <module> # from PythonApp.redirectstd import redirect File "PythonApp/redirectstd.pyc", line 5, in <module> # from PythonApp import settings File "PythonApp/settings.pyc", line 7, in <module> # import hashlib File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 138, in <module> _hashlib.openssl_md_meth_names) AttributeError: 'module' object has no attribute 'openssl_md_meth_names' 2014-12-01 23:44:57.204 Utility[72506:4648486] Utility Error I printed out sys.path right before the import hashlib, ['/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/Applications/Utility.app/Contents/Resources/lib/python2.7/lib-dynload', '/Applications/Utility.app/Contents/Resources/lib/python2.7/site-packages.zip', '/Applications/Utility.app/Contents/Resources/lib/python2.7/site-packages'] There's no modifications in the code to sys.path or the pythonpath (I do have modifications to PYTHONPATH in my .bash_profile- but those aren't showing up in the sys.path output here, and I'm pretty sure that shouldn't affect it right?) There's quite a lot of 3rd party modules, non of which will have been installed after the app was built. hashlib is imported pretty early, before any 3rd party imports if that makes a difference. I think I'll see tomorrow if I can't make a small sample app and setup.py with py2app which I can reproduce the problem and I'll post it up on here. > -- > Ned Deily, > n...@acm.org > > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG@python.org > https://mail.python.org/mailman/listinfo/pythonmac-sig > unsubscribe: https://mail.python.org/mailman/options/Pythonmac-SIG >
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org https://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: https://mail.python.org/mailman/options/Pythonmac-SIG