生活中,我们可能会有编辑macOS Plist的需求。我们会发现,无论是用文本编辑打开,还是终端vim、nano,总会出现乱码。这时候,一些人会去买一个叫做PlistEdit Pro的软件。其实根本没有这个必要。有一个免费开源软件,它小巧简约,也可编辑Plist。今天我就要向大家推荐这个软件——ProperTree(支持多平台)。
该项目已经被放在了GitHub上,目前已经有1.8k的点赞:corpnewt/ProperTree: Cross platform GUI plist editor written in python.https://github.com/corpnewt/ProperTree
下载源码(需要Python环境),打开.command或.py文件,就可以打开一个新的Plist进行编辑了。如果要编辑其他的Plist文件,可以在终端拖入这个脚本,再在后面指定一个Plist路径,进行打开。
有些人可能要问了,你推荐的是什么破玩意啊!那么麻烦,还没有一个可以运行的应用程序,你以为我们是技术专家啊?别急,打开下载的源码文件夹,里面有一个“Script”文件夹,打开,找到“buildapp-select.command”或“buildapp-select.py”,打开运行,等待一会儿之后,源码文件夹里面就会自动出现一个ProperTree macOS应用程序。把源码文件夹直接拖到应用程序文件夹,便可以在启动台里面看到ProperTree了。
常见问题及解决方案
-
ProperTree在macOS Monterey(12.x)上打开一个黑色窗口
macOS Monterey 随附的默认 tk 实现似乎无法正确显示。变通办法是从python.org(此处找到)下载并安装最新版本的python 3,该版本具有兼容的tk捆绑,然后使用位于ProperTree
Scripts
目录中的buildapp-select.command
构建针对已安装python路径的应用程序包。然后,您可以利用它创建的ProperTree.app
捆绑包。 -
ProperTree无法在macOS Monterey(12.x)上打开或保存plist文件
这似乎是内置tk和python.org的早期“通用”安装程序的问题。至少使用python 3.10.2,这个问题已经在通用版本中得到解决。您可以在这里获得最新的python 3安装程序。安装后,使用位于ProperTree
Scripts
目录中的buildapp-select.command
构建针对已安装python路径的应用程序包。然后,您可以利用它创建的ProperTree.app
捆绑包。 -
当我双击.plist文件时,如何打开ProperTree?
在macOS上,您可以运行位于ProperTree
Scripts
目录中的buildapp-select.command
来构建可以与.plist文件关联的应用程序包。在Windows上,您可以运行位于ProperTree
Scripts
目录中的AssociatePlistFiles.bat
,将.plist文件与ProperTree.bat
相关联,并在右键单击.plist文件时将“Open with ProperTree
”选项添加到上下文菜单中。这种方法取决于位置,移动ProperTree的副本将需要您重新运行AssociatePlistFiles.bat
。 -
当我尝试运行ProperTree时,我得到了
[ModuleNotFoundError: No module name 'tkinter']
这是因为ProperTree所依赖的图形界面库不存在或无法检测到,因此您需要从软件包管理器安装
tkinter
。要在Ubuntu(以及基于Ubuntu的发行版)上安装它,您可以运行
sudo apt-get install python3-tk -y
-
ProperTree没有运行,因为它没有权限,什么可以?
这不应该发生,建议您仅从官方ProperTree存储库下载,但是如果您对源代码有信心,那么运行
chmod +x ProperTree.command
应该对其进行整理 -
我在macOS上使用国际键盘布局,一些按键崩溃了。ProperTree
NSRangeException', reason: '-[__NSCFConstantString characterAtIndex:]: Range or index out of bounds
-
这是macOS上Tcl/Tk的Cocoa实现中的一个bug(此处讨论)。python的最新python 2安装程序。org附带并使用Tcl/Tk 8.6.8,该版本解决了这个问题。鉴于房地产中的shebang。命令利用#/usr/bin/env-python-应该使用找到的第一个python 2二进制文件。buildapp选择。可以使用ProperTree的Scripts目录中的命令将特定python安装的路径硬编码到。应用程序包的可执行文件shebang。
-
ProperTree在Big Sur上崩溃(macOS 11)
从macOS 11.2(20D5029f)开始,系统的
tk
安装似乎是固定的,并且可以正常工作。因此,它不需要外部python版本才能正常工作。这是由于macOS上的默认python安装利用了旧的
tk
版本——该版本不支持macOS 11。要解决这个问题,您可以从Python Releases for macOS | Python.org下载并安装最新的python 3版本(注意:目前“通用”3.9.1安装程序会导致主题问题,不应使用),然后利用ProperTreeScripts
目录中的buildapp-select.command
构建一个.app捆绑包,该版本将利用该python版本。如果您已经通过
brew
或其他软件包管理器安装了python 3,它可能仍然链接到系统tk
版本,除非链接到较新版本,否则该版本仍然会出现问题。 -
buildapp-select.command
使用“buildapp select.command”的输出示例如下所示。它将遍历哪个python和哪个python3的输出,然后尝试加载tk接口,同时跟踪哪些工作和哪些失败。下面的示例来自macOS 11.2(20D4029f),系统版本为python 2和3,以及从python安装的python 3.9.1。组织。如果存在现有的不动产树。应用程序在脚本文件夹上方的目录中,该应用程序的shebang将被定位并作为C.Current选项提供。在下面的菜单中,我将选择选项3或C来使用非系统python安装。
- Currently Available Python Versions -
1. /usr/bin/python 2.7.16 - tk 8.5 (8.6+ recommended)
2. /usr/bin/python3 3.8.2 - tk 8.5 (8.6+ recommended)
3. /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 3.9.1 - tk 8.6
4. /usr/bin/env python
5. /usr/bin/env python3
C. Current (/Library/Frameworks/Python.framework/Versions/3.9/bin/python3)
Q. Quit
Please select the python version to use:
以上就是我为大家推荐的免费开源软件“ProperTree”,大家喜欢吗?