【问题标题】:Python 3, PyQt5, Mac OSx, and Sublme Text: Import ErrorPython 3、PyQt5、Mac OSx 和 Sublme Text:导入错误
【发布时间】:2016-03-16 01:37:21
【问题描述】:

在尝试使我的环境正常工作的过程中,我可能已经使用 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

我觉得我离工作环境越来越近了,但如果能提供任何帮助,我将不胜感激,尤其是在了解为什么会出现此问题时。谢谢!

【问题讨论】:

    标签: python macos pyqt sublimetext3


    【解决方案1】:

    Sublime Text 运行以下 shell 命令:

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

    所以我们需要知道这个“python”实际上在哪里。尝试在控制台中运行它:

    which python
    

    如果你得到类似 /usr/bin/python 的东西,那么我们可以说,Sublime Text 会尝试将你的脚本提供给系统 osx python,即 2.7实际上。尝试运行“which 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"}
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-03
      • 2018-12-28
      • 2017-04-09
      • 1970-01-01
      • 2016-02-17
      • 2014-09-17
      • 1970-01-01
      • 2016-06-28
      相关资源
      最近更新 更多