Mam dwa projekty python w sublimetext3 z anakondą. Z kilku powodów mylących tylko w jednym z nich anaconda zgłasza typ podpowiedzi (PEP 0484) jako błędy "nieprawidłowej składni" (zarówno dla typów parametrów i funkcji). Jaki może być powód?anaconda + podublimowany, raporty typu podpowiedzi jako błędy
Odpowiedz
Aby rozwinąć odpowiedź @MattDMo „s, można wymusić pakiet Anakonda używać python3
tłumacza naciskając Cmd/Ctrl + Przesunięcie + P, a następnie wybierając:
Anaconda: Set Python Interpreter
Następnie wklej na drodze do tłumacza python3, które można znaleźć za pomocą which python3
:
upewnij się, aby umieścić w ścieżce virtualenv jeśli kod wykorzystuje pakiety w virtualenv: /path/to/.virtualenvs/nameofvenv/bin/python3
Jeśli nie jesteś w virtualenv, używać systemu python3
:
/usr/bin/python3
lub /usr/local/bin/python3
dla homebrew na python3
na mac.
Prawidłowe ustawienie go na python3 powinno naprawić błąd Invalid Syntax
w adnotacjach typu.
Można także edytować plik projektu bezpośrednio do ustawienia ścieżki TŁUMACZ:
{
"build_systems":
[
{
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"name": "Anaconda Python Builder",
"selector": "source.python",
"shell_cmd": "\"/path/to/.virtualenvs/venvname/bin/python3\" -u \"$file\""
}
],
"settings":
{
"python_interpreter": "/path/to/.virtualenvs/venvname/bin/python3"
}
}
Aby rozwinąć na odpowiedź @Nick Sweeting „s, to warto pamiętać, że typ podpowiedzi został wprowadzony do Pythona w wersji 3.5, więc jeśli Anaconda używa interpretera z poprzednią wersją Python3, a następnie zgłasza Type Hints jako nieprawidłową składnię. Aby rozwiązać ten problem, po prostu ustaw interpreter python na wersję 3.5 (lub wyższą).
- 1. podpowiedzi typu w namedtuple
- 2. Sublime Text 3: Anaconda pokaż skrót klawiszowy błędy kłódki?
- 3. Jak ujawnić raporty cognos jako usługę WWW
- 4. (Kiedy) powinienem użyć podpowiedzi typu w PHP?
- 5. Usuwanie podpowiedzi typu programowo w języku Python
- 6. Traktowanie ostrzeżeń jako błędy
- 7. es6 obiecuje błędy typu jaskółczego
- 8. Raporty Jaspera: sub-raporty powodują nieskończoną pętlę
- 9. Javac: Traktuj ostrzeżenia jako błędy
- 10. Python 3: Sphinx nie pokazuje poprawnie podpowiedzi typu
- 11. Nawigacja Anaconda BARDZO powolna
- 12. Anaconda ipython qtconsole launcher
- 13. Anaconda Pymc Install
- 14. Anaconda vs miniconda space
- 15. Przesyłanie na błędy typu int i zmiennoprzecinkowe?
- 16. jak debugować błędy konwersji typu w AngularJS?
- 17. Generowanie podpowiedzi typu Pythona za pomocą kodu SWIG
- 18. Anaconda: Nie można importować pylab
- 19. typ Clojure podpowiedzi składni
- 20. Wyświetlane podpowiedzi
- 21. Funkcje podpowiedzi
- 22. Raporty SSRS Versioning
- 23. Raporty z testów kątowych
- 24. Jak debugować raporty Jaspera?
- 25. Raporty w Codeigniter
- 26. Traktuj * niektóre * ostrzeżenia jako błędy w Swift?
- 27. Jak zresetować środowisko root anaconda
- 28. Chart.js: zmiana szablonu podpowiedzi
- 29. Wartości podpowiedzi formatu jqplot
- 30. Rodzaj podpowiedzi w zmiennych klasowych
Dobrze! Nie wiem, jak to się stało, ale to było to. – ardabro
To nie jest poprawne; Podpowiedź typu PEP-484 można używać również w Pythonie 2. Zobacz https://www.python.org/dev/peps/pep-0484/#type-comments i https://www.python.org/dev/peps/pep-0484/#stub-files na dwa sposoby aby to działało. Właściwie używam teraz podpowiedzi typu do przeniesienia dość dużej biblioteki Pythona 2 do Pythona 3. Jeśli Sublime Text nie wie, co jest możliwe, to jego obsługa dla PEP-484 jest niekompletna, ale to nie jest problem PEP-484. – mcepl
@mcepl Ta odpowiedź jest całkowicie poprawna w kontekście wtyczki Anaconda, którą OP używał w Sublime. Możliwe, że podpowiedzi/podpowiedzi typu wstecznego portu będą możliwe do Py2 za pomocą komentarzy lub plików pośredniczących, jak sugerujesz, ale oryginalny opis opisu funkcji PEP-3107 i rozwinięcie na nim opisane w PEP-484 są specyficzne dla Pythona 3. Zaktualizowałem odpowiedź, aby to odzwierciedlić. – MattDMo