簡體   English   中英

在運行 Big Sur 的 M1 Macbook Pro 上安裝 Exempi 2.5.2 時出錯

[英]Error installing Exempi 2.5.2 on M1 Macbook Pro running Big Sur

我正在嘗試在PyCharm IDE中為 python 安裝Exempi 2.5.2 ,以便從 Photoshop psd 文件中讀取元數據。

我的代碼是:

import PIL
from libxmp.utils import file_to_dict
from libxmp import consts
from psd_tools import PSDImage

if __name__ == '__main__':
    print('Hello')

我在 PyCharm 中安裝了以下軟件包: ExifRead Pillow PyBundle brew docopt packbits pip psd-tools3 python-xmp-toolkit pytz setuptools

我收到以下錯誤:回溯(最后一次通話):

文件“/Users/rajnesh/Python/uploadJpeg2SquareSpace.py”,第 9 行,來自 libxmp.utils import file_to_dict

文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/libxmp/ init .py”,第 50 行,在 from.core import XMPMeta、XMPIterator 中

文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/libxmp/core.py”,第 50 行,來自。 將 exempi 導入為 _cexempi

EXEMPI = _load_exempi() 中的文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/libxmp/exempi.py”,第 69 行

文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/libxmp/exempi.py”,第 60 行,在 _load_exempi

提高 ExempiLoadError(“未找到 Exempi 庫。”)

libxmp.ExempiLoadError:找不到 Exempi 庫。

進程結束,退出代碼為 1

Exempi的文檔說我需要安裝Boost 我想知道這是否是問題所在。 我不確定如何在 PyCharm 中安裝它,因為我不認為它是軟件包中的一個選項。

我在使用brew install exempi exempi.py編輯了我的 exempi.py

def _load_exempi():
    """
    Loads exempi library.
    """
    path = ctypes.util.find_library('exempi')
    if path is None:
        if platform.system().startswith('Darwin'):
            if os.path.exists('/opt/local/lib/libexempi.dylib'):
                # MacPorts starndard location.
                path = '/opt/local/lib/libexempi.dylib'
    if path is None:
        m1_path = '/opt/homebrew/lib/libexempi.dylib'
        if os.path.exists(m1_path):
            path = m1_path
            
    if path is None:
        raise ExempiLoadError('Exempi library not found.')

    if os.name != "nt":
        EXEMPI = ctypes.CDLL(path)
    else:
        EXEMPI = ctypes.WinDLL(path)

    return EXEMPI

具體來說,這是我添加的。

if path is None:
        m1_path = '/opt/homebrew/lib/libexempi.dylib'
        if os.path.exists(m1_path):
            path = m1_path

然后它起作用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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