Ошибка "Символ не найден: _getentropy" после обновления инструментов командной строки на yosemite
Недавно я создал приложение Python, которое просматривает Bing и сохраняет страницы в формате PDF с использованием WKHTMLTOPDF, оно было построено с использованием Py2APP.
Все работало отлично и, как я хотел, пока я не обновил Инструменты командной строки (OS X 10.10) для Xcode.
Теперь, когда я пытаюсь запустить приложение, оно мгновенно падает, и я получаю следующую ошибку:
Time Awake Since Boot: 70 seconds
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Dyld Error Message:
Symbol not found: _getentropy
Referenced from: /Users/USER/*/EnglishSearch.app/Contents/Frameworks/Python.framework/Versions/3.5/Python (which was built for Mac OS X 10.12)
Expected in: /usr/lib/libSystem.B.dylib
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 dyld 0x00007fff63035075 dyld_fatal_error + 1
1 dyld 0x00007fff630382a8 dyld::fastBindLazySymbol(ImageLoader**, unsigned long) + 180
2 libdyld.dylib 0x00007fff8c2983ba dyld_stub_binder + 282
3 ??? 0x00000001040af190 0 + 4362793360
4 org.python.python 0x000000010400d0b8 _Py_InitializeEx_Private + 375
5 org.pythonmac.unspecified.EnglishSearch 0x00000001000024ac 0x100000000 + 9388
6 org.pythonmac.unspecified.EnglishSearch 0x000000010000117a main + 650
7 org.pythonmac.unspecified.EnglishSearch 0x0000000100000be4 start + 52
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff8db0c232 kevent64 + 10
1 libdispatch.dylib 0x00007fff8dc5b26e _dispatch_mgr_thread + 52
Thread 2:
0 libsystem_kernel.dylib 0x00007fff8db0b94a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8941a3dd start_wqthread + 13
Thread 3:
0 libsystem_kernel.dylib 0x00007fff8db0b94a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8941a3dd start_wqthread + 13
Thread 4:
0 libsystem_kernel.dylib 0x00007fff8db0b94a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8941a3dd start_wqthread + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x00007fff6306d288 rbx: 0x0000000100200390 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x00007fff6306d3f0 rsi: 0x0000000000000000 rbp: 0x00007fff5fbfd290 rsp: 0x00007fff5fbfd278
r8: 0x00007fff63057b4c r9: 0x0000000000000000 r10: 0x00007fff6305afb6 r11: 0x00007fff6306d3f0
r12: 0x0000000000000018 r13: 0x0000000000000000 r14: 0x00007fff6306d3f0 r15: 0x0000000104130188
rip: 0x00007fff63035075 rfl: 0x0000000000000246 cr2: 0x000000010009c000
Logical CPU: 0
Error Code: 0x00000000
Trap Number: 3
Я искал в Интернете, и, кажется, проблема с CommandLineTools. Я думаю, что это так, потому что я попытался запустить точно такое же приложение на своем другом ноутбуке, который некоторое время не обновлялся, и он работал.
Моя версия XCode 2339 и путь это / Библиотека / Разработчик /CommandLineTools
Кто-нибудь там знает, как исправить эту ошибку?
Спасибо:)
1 ответ
Mac имеет встроенную версию Python, которая ему нужна. Инструменты командной строки вполне могут обновить и изменить эту версию Python. Если вы хотите разрабатывать приложения, лучше использовать Python, который не зависит от операционной системы. Попробуйте установить python из внешнего источника, например, используя anaconda. Это установит в вашей системе другой питон, который используется только вами, поэтому вы можете обновить его и добавить к нему библиотеки, не беспокоясь об инструментах командной строки, которые могут его изменить.