/ / Python 3, PyQt5, Mac OSx i Sublme Text: Błąd importu - python, macos, pyqt, sublimetext3

Python 3, PyQt5, Mac OSx i Sublme Text: Błąd importu - python, macos, pyqt, sublimetext3

Podczas próby uruchomienia mojego środowiska mogłem zainstalować rzeczy zarówno przy użyciu Homebrew, jak i bez niego. Tak czy inaczej, moja obecna sytuacja wygląda następująco:

Python 3 jest instalowany przez Homebrew i działa z IDLE i Sublime Text. Importowanie PyQt5 działa i działa z IDLE.

W Sublime Text (i PyCharm) nadal używa Pythona 3, ale importowanie PyQt5 powoduje następujący błąd:

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”]

O ile mi wiadomo, problem ma coś wspólnegozrobić ze ścieżkami. Wygląda na to, że Sublime Text wykorzystuje ścieżki oparte na pliku o nazwie „ścieżki”. W pewnym momencie wydaje mi się, że dodałem do tego pliku, aby umożliwić mu wykrycie Python3 i SIP. Podczas gdy instalacja IDLE wydaje się być powiązana z bash_profile i sys.path

Czuję, że zbliżam się do środowiska pracy, ale każda pomoc byłaby mile widziana, szczególnie jeśli chodzi o zrozumienie, dlaczego ten problem występuje. Dzięki!

Odpowiedzi:

0 dla odpowiedzi № 1

Sublime Text uruchamia następujące polecenie powłoki:

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

Musimy więc wiedzieć, gdzie właściwie znajduje się to „python”. Spróbuj uruchomić to w konsoli:

which python

Jeśli masz coś takiego / usr / bin / python, więc możemy powiedzieć, że Sublime Text próbuje się karmićtwój skrypt do systemowego Pythona OSX, który jest w rzeczywistości 2.7. Spróbuj uruchomić „który python3”, aby sprawdzić, czy dowiązanie symboliczne do pliku wykonywalnego python3 jest utworzone. Jeśli nie, możesz to zrobić samodzielnie, a nie tylko z niego korzystać.

Polecam dodanie nowego systemu kompilacji Python3 do Sublime Text (aby nie zadzierać z pythonem systemowym). Utwórz plik:

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

z zawartością, coś w stylu (możesz użyć swojego dowiązania symbolicznego do python3 zamiast ścieżki):

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

i spróbuj uruchomić skrypt z włączoną opcją „Narzędzia -> Kompiluj system -> Python 3” w Sublime Text.

Bardziej zaawansowany układ systemu kompilacji może wyglądać następująco:

    {
"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"}
}