在尝试让我的环境工作的过程中,我可能已经安装了使用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"}
}