OS X 用のアプリケーションを開発しています。アプリケーションには、安全な接続を使用して、python-requests を介してサーバーと通信することが含まれます。
パッケージ化する予定の python ファイルを実行でき、SSL 接続で成功します。ただし、ファイルを py2app でパッケージ化して実行しようとすると、次のエラーが発生します。
Traceback (most recent call last):
File "/Users/yossi/Documents/repos/drunken-octo-nemesis/dist/drunken-octo.app/Contents/Resources/__boot__.py", line 338, in <module>
_run()
File "/Users/yossi/Documents/repos/drunken-octo-nemesis/dist/drunken-octo.app/Contents/Resources/__boot__.py", line 333, in _run
exec(compile(source, path, 'exec'), globals(), globals())
File "/Users/yossi/Documents/repos/drunken-octo-nemesis/dist/drunken-octo.app/Contents/Resources/media_test.py", line 16, in <module>
cmpbl.syncWithCloud()
File "src/compare_book_lists.pyc", line 172, in syncWithCloud
File "src/compare_book_lists.pyc", line 64, in checkMediaOnCloud
File "src/get_cloud_book_list.pyc", line 26, in getCloudFulfilledBookList
File "requests/api.pyc", line 55, in get
File "requests/api.pyc", line 44, in request
File "requests/sessions.pyc", line 354, in request
File "requests/sessions.pyc", line 460, in send
File "requests/adapters.pyc", line 250, in send
requests.exceptions.SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
2013-06-12 11:39:49.119 drunken-octo[1656:707] drunken-octo Error
アプリケーションの一部を正常にパッケージ化できました。問題は、ターゲット ファイルがチェーンのどこかで要求に依存するときに始まります。
インポートを整理するために zc.buildout を使用しています。したがって、ビルドアウトによって作成されたローカルの Python インタープリターで実行しているため、残念ながら、システムの Python を変更する必要がなければ、修正は簡単に実装できます。ただし、すべての提案を歓迎します。私の仕様に合わせて修正するよう最善を尽くします。
これは、パッケージ化されたアプリを実行したときにのみ発生します。何か案は?