2016-02-21 13 views

Odpowiedz

6

aplikacja Anacondy z PEP-484 typu podpowiedzi (pod wpływem PEP-3107 Adnotacjach funkcję i sprawdzający mypy typu statycznego) odnosi się tylko do Pythona 3. Przypuszczam, że projekt jest rzucanie błędów jest lintowane przez Python 2.

+0

Dobrze! Nie wiem, jak to się stało, ale to było to. – ardabro

+0

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

+1

@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

8

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

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ą).