簡體   English   中英

macOS 信任 Python whl 文件,但不信任 tar 文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM