如何在 MySQL Workbench 中为 Mac 添加系统路径(大苏尔)

How to add a path to the system path in MySQL Workbench for Mac (Big Sur)

我将 Catalina OS 与 MySQL Workbench 一起用于 Mac,这对我的旧 iMac 来说效果很好。但是,当我最近购买了带有 Big Sur OS 的新 Mac 并安装了 MySQL Workbench 时,它给了我以下导入错误:

Fatal Python error: initfsencoding: unable to load the file system codec, sys.path = ['/Applications/MySQLWorkbench.app/Contents/Resources/libraries', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload']
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000000011ac12e00 (most recent call first):

我的python版本是3.8,我知道这是系统路径配置不当造成的。所以我在bash_profile中添加了系统路径的路径。见下文:

export PYTHONPATH=~/Library/Python/3.8/lib/python/site-packages:$PYTHONPATH

export PATH=/usr/bin:$PATH

python shell 中的结果 sys.path 给了我这个:

Python 3.8.2 (default, Nov  4 2020, 21:23:28) 
[Clang 12.0.0 (clang-1200.0.32.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.path)
['', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python38.zip', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/lib-dynload', '/Users/phillipkim/Library/Python/3.8/lib/python/site-packages', '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages']

我获取了文件并重新启动了计算机。但是,当我尝试 运行 MySQL Workbench 时收到相同的错误消息。我发现以下 website 解释了在哪里更新 MySQL Workbench 的系统环境,但它只显示了 Windows 和 Linux [=39= 的示例]s。如何为 MySQL Workbench 为 Mac 添加系统路径?非常感谢。

我找到了以下解决方案:https://bugs.mysql.com/bug.php?id=102364

MySQLWorkbench 需要 Python3.7 框架 /Library/Frameworks/

  1. 运行 brew install python@3.7
  2. 然后,运行 sudo cp -r /usr/local/Cellar/python@3.7/3.7.9_3/Frameworks/Python.framework /Library/Frameworks/Python.framework
  3. 最后,打开 MySQLWorkbench 就可以了。

或者您可以创建一个指向整个文件的符号链接(感谢@Phillip1982)

sudo ln -s /usr/local/Cellar/python@3.7/3.7.10_1/Frameworks/Python.framework /Library/Frameworks/Python.framework