[英]macOS trusts Python whl files, but not tar files
我將我的 python c 擴展名作為 tar 文件和 whl 文件提供。
在 macOS 上,我很驚訝為我的擴展安裝 wheel 沒有問題。 當在 tarball 中將 PYTHONPATH 設置為我的 python 擴展名時,我會立即遇到關於未經驗證的開發人員的對話框。
有人可以解釋為什么 macOS 信任我未簽名的 python 擴展名,但如果我在 wheel 文件中使用 package 就沒有問題。
更新:這是我關閉對話框后看到的錯誤:
>>> import devsim
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jsanchez/Downloads/devsim_macos_v2.3.7rc1/lib/devsim/__init__.py", line 8, in <module>
from .devsim_py3 import *
ImportError: dlopen(/Users/jsanchez/Downloads/devsim_macos_v2.3.7rc1/lib/devsim/devsim_py3.so, 0x0002): tried: '/Users/jsanchez/Downloads/devsim_macos_v2.3.7rc1/lib/devsim/devsim_py3.so' (code signature in <ED44BB00-36CF-39A8-8999-8309CBA016E4> '/Users/jsanchez/Downloads/devsim_macos_v2.3.7rc1/lib/devsim/devsim_py3.so' not valid for use in process: library load disallowed by system policy)
有人可以解釋為什么 macOS 信任我未簽名的 python 擴展名,但如果我在 wheel 文件中使用 package 就沒有問題。
更新 2:
據我所知。 如果我使用 Chrome 將 tgz 下載到我的下載文件夾,我會收到錯誤消息。 如果我使用 curl 下載 tgz,它就可以工作。 我認為 Chrome 正在添加這個錯誤的屬性。
感謝@GordonDavisson 提供有關屬性的提示。 原來這個問題與谷歌瀏覽器有關。 如果我使用 Chrome 從 Github 下載文件,我會得到:
com.apple.macl 72
com.apple.metadata:kMDItemWhereFroms 655
com.apple.quarantine 57
並使用 curl 我沒有得到任何屬性。
我在 Chrome 中有松散的安全權限(沒有安全瀏覽),但這種情況仍然發生。 下次遇到它時,我一定會注意這一點。
更新
我發現這篇關於當前 macOS 景觀的非常有用的帖子: https://eclecticlight.co/2021/02/18/code-signing-requirements-for-scripts-and-apps-in-big-sur/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.