Ich versuche den Tipp von Python 3.5 eingegeben und ein Problem mit lokalen Stubs als Eingabe Tipp mit Mypy.Verwenden von lokalen Mypy-Stubs
Das Experiment, das ich tun, ist kk.py creat
def type_check(a):
pass
Auch enthält, ich kk.pyi
def type_check(a: int):...
im selben Verzeichnis enthält setzen. Auf diese Weise habe ich versucht, den Fehler "ncompatible types in assignment" auszulösen, indem ich eine Zeichenfolge an type_check in kk.py übergebe. Jedoch, wenn ich lief Mypy kk.py und bekomme keinen Fehler.
Also versuchte ich einen anderen Weg, den mypy doc vorschlägt, nämlich die Umgebungsvariable MYPYPATH auf ~/some/path/stub zu setzen und kk.pyi in das Verzeichnis zu legen. Ich habe jedoch den gleichen Fehler.
Jeder kann mir dabei helfen?
Hier ist das Mypy Wiki auf how, um einen lokalen Stub zu verwenden.
Danke! Ich habe mit genau diesem Problem gekämpft. Ich verstehe wirklich nicht warum Mypy so funktioniert. Irgendwelche Ideen? –
@SolomonBothwell Ich fühle den ersten Versuch, dieses statische Prüfprogramm für große Modulo wie Django zu haben, also nimmt es an, dass der Benutzer Dinge in einem Paket statt selbst geschriebene Programme überprüft. – Musen
Sie können Ihre eigenen Programme absolut überprüfen, es gibt keinen Grund oder Grund, separate Stub-Dateien zu verwenden. Wenn Ihr Programm eine Bibliothek eines Drittanbieters importiert, die keine Anmerkungen enthält, Sie diese jedoch verwenden möchten, benötigen Sie lokale Stubs. – OJFord