Sto provando il suggerimento di digitazione introdotto da Python 3.5 e ho riscontrato un problema utilizzando gli stub locali come suggerimento per la digitazione con mypy.Utilizzo di matrici locali Mypy
L'esperimento che faccio è quello di creat kk.py contenente
def type_check(a):
pass
Inoltre, ho messo kk.pyi contenente
def type_check(a: int):...
nella stessa directory. In questo modo, ho provato ad attivare l'errore "tipi non compatibili nell'assegnazione" passando una stringa a type_check in kk.py. Tuttavia, quando ho eseguito mypy kk.py e non ho ricevuto alcun errore.
Così ho provato un altro modo che suggerisce mypy doc, ovvero impostare la variabile di ambiente MYPYPATH in ~/some/path/stub e inserire kk.pyi nella directory. Ho avuto lo stesso errore, comunque.
Chiunque può aiutarmi in questo?
Ecco la wiki di mypy su how per utilizzare uno stub locale.
Grazie! Ero alle prese con questo problema esatto. Non capisco davvero perché mypy funzioni così. Qualche idea? –
@SolomonBothwell Sento il tentativo iniziale di avere questo programma di controllo statico per il modulo grande come Django, quindi suppone che l'utente verificherà le cose in un pacchetto piuttosto che programmi autoprodotti. – Musen
Puoi assolutamente controllare i tuoi programmi, non c'è bisogno o motivo per usare file stub separati. Se il tuo programma importa una libreria di terze parti che non ha annotazioni, ma vuoi usarle, è quando hai bisogno di stub locali. – OJFord