Python 3、PyQt5、Mac OSx 和 Sublme Text:导入错误



在尝试让我的环境工作的过程中,我可能已经安装了使用Homebrew和不使用Homebrew的东西。无论哪种方式,我目前的情况如下:

Python 3 通过 Homebrew 安装,可与 IDLE 和 Sublime Text 配合使用。PyQt5 导入工作,并且可以在 IDLE 中运行。

在Sublime Text(和PyCharm)中,它仍然使用Python 3,但PyQt5导入给出以下错误:

Traceback (most recent call last):
  File "/Users/username/Documents/PythonWorkspace/testing.py", line 8, in <module>
    from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
ImportError: No module named PyQt5.QtWidgets
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/Users/username/Documents/PythonWorkspace/testing.py"]
[dir: /Users/username/Documents/PythonWorkspace]
[path: “/usr/lib/python3.5/site-packages/PyQt5:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/local/MacGPG2/bin:/Library/TeX/texbin”]

据我所知,这个问题与路径有关。看起来Sublime Text是基于名为"paths"的文件的路径,在某些时候,我似乎已经添加到这个文件中,以允许它发现Python3和SIP。而 IDLE 安装似乎链接到 bash_profile 和 sys.path

我觉得我越来越接近工作环境,但任何帮助将不胜感激,尤其是在了解为什么会出现这个问题时。谢谢!

Sublime Text 运行以下 shell 命令:

python -u "/Users/username/Documents/PythonWorkspace/testing.py"

所以我们需要知道这个"蟒蛇"到底在哪里。尝试在控制台中运行以下命令:

which python

如果你得到类似/usr/bin/python 的东西,那么我们可以说,Sublime Text 试图将你的脚本提供给系统 osx python,实际上是 2.7。尝试运行"哪个python3"来检查是否创建了指向python3可执行文件的符号链接。如果没有,您可以自己做,而不仅仅是使用它。

我建议你在Sublime Text中添加一个新的python3构建系统(以免弄乱系统python)。创建一个文件:

/Users/username/Library/Application Support/Sublime Text 3/Packages/User/Python 3.sublime-build

对于内容,类似(您可以使用指向 python3 的符号链接而不是路径):

{
    "cmd": ["/path/to/your/python3", "$file"]
}

并尝试在Sublime Text中启用"工具->构建系统->Python 3"的情况下运行脚本。

更高级的构建系统布局可能如下所示:

    {
    "path": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
    "env":
        {
            "PYTHONPATH":"/usr/local/lib/python:/usr/local/username/python/3.3/lib/python3.3/"
        },
    "cmd": ["python3", "-u", "$file"],
    "file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "utf-8",
    "env": {"LANG": "ru_RU.UTF-8"}
    }

最新更新