macOS Sequoia下Python安装plists包失败,如何解决?
解决方法
优先方案:使用Python内置的plistlib模块
macOS自带的Python已经内置了plistlib模块,专门用来处理plist文件,完全不需要安装第三方的plists包,这是最稳定可靠的选择。
读取plist文件的示例代码:
import plistlib # 读取二进制格式的plist with open("example.plist", "rb") as f: plist_data = plistlib.load(f) # 读取XML格式的plist with open("example.plist", "r", encoding="utf-8") as f: plist_data = plistlib.load(f, fmt=plistlib.FMT_XML) # 打印读取到的数据 print(plist_data)
写入plist文件的示例:
import plistlib data = {"key1": "value1", "key2": [1, 2, 3]} # 写入二进制格式 with open("output.plist", "wb") as f: plistlib.dump(data, f) # 写入XML格式 with open("output.xml.plist", "w", encoding="utf-8") as f: plistlib.dump(data, f, fmt=plistlib.FMT_XML)
非要用那个plists包的话(不推荐)
这个包是Python2时代的产物,setup.py用了Python2的print语法(无括号),要安装得手动修改代码:
- 从PyPI下载对应版本的源码包(比如
plists-0.0.4.tar.gz)并解压到本地 - 打开解压后的
setup.py,找到第80行的print "PDIR: ", pdir(), os.listdir(pdir()),改成Python3兼容的语法:print("PDIR: ", pdir(), os.listdir(pdir())) - 进入解压后的目录,执行
pip3 install .完成本地安装
注意:这个包多年未更新,即使修改了setup.py,运行时大概率还会出现其他Python2兼容问题,所以不推荐使用。
内容的提问来源于stack exchange,提问作者Lacer
相关产品推荐
相关产品推荐

