我目前正面临这样的问题,即以fork作为启动方法的python中的多处理会导致Catalina崩溃。即使没有经典的解决方法OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
,相同的代码在Mojave上也可以正常工作。无论如何,这条线在Catalina中似乎没有任何作用。崩溃不会导致任何可捕获的异常或回溯,因此非常抱歉,但我无法提供更多信息。每当分叉的进程使用openMP线程,它都会自动生成线程。有人知道如何解决Catalina的分叉行为吗?使用另一种启动方法可能不是一种选择,因为我没有处理任何可拾取的对象。
答案 0 :(得分:0)
如果没有崩溃报告,很难确定原因。
尝试此操作以查找崩溃报告:
打开控制台应用程序: 在Spotlight中输入“控制台”,或导航到“应用程序->实用程序-> Console.app”。然后点击崩溃报告。
我遇到了类似的问题,在Mojave上运行Ansible时,Python一直崩溃。.经典的解决方法是添加“ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY = YES”
但是,对于Catalina来说,这不再是我的解决方法。我不得不处理在OSX上缺少指向libcrypto openssl的链接,这对我来说确实有用。
如果确实存在OpenSSL问题,请尝试以下脚本(或手动运行命令):
https://gist.github.com/cpavlatos/265d5091a89148eec1cfa2d10e200d32
注意:在运行上述脚本之前,您可能需要CD到/ usr / local / Cellar / openssl /,然后查看相应的脚本版本。
另外,值得检查的是这个线程: https://github.com/Homebrew/homebrew-core/issues/44996#issuecomment-543945199 这里总结得更好: https://gist.github.com/llbbl/c54f44d028d014514d5d837f64e60bac#gistcomment-3115206