Seite 1 von 1
Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 14:26
von jens
Gibts eigentlich ein toll, welches den Source-Code eines Modul untersucht, mit welches Python Version das wohl laufen wird?!?
So 100% kann man das wohl nicht feststellen, denke ich mir. Aber zumindest ein Anhaltspunkt liefern...
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 14:31
von DasIch
Wesentlich besser als ``python -c "import module"`` oder schauen ob es von der Syntax her passt kann man eigentlich nicht werden.
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 14:37
von jens
Dann müßte ich allerdings alle möglichen Python Versionen installiert haben

Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 14:42
von BlackJack
@jens: Oder einen Compiler der alle Versionen versteht.
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 14:55
von DasIch
jens hat geschrieben:Dann müßte ich allerdings alle möglichen Python Versionen installiert haben

Als Python Entwickler hat man aber doch sicherlich 2.7 und 3.3+, vielleicht auch noch PyPy. Die lassen sich ja auch z.B. mit pyenv sehr leicht installieren.
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 15:03
von jens
Die Unterscheidung ist allerdings zu grob...
Also geht (natürlich

) um PyHardLinkBackup... Das läuft eh nur mit Python 3, weil os.link erst ab 3.2 unter Windows funktioniert:
https://docs.python.org/3/library/os.html#os.link
Ich hatte os.scandir genutzt. Ist neu bei 3.5, aber dafür gibt es ja das "scandir" Paket zur nach Installation. (Zu den Problem damit:
viewtopic.php?f=2&t=37802 )
Ich meine ich hatte irgendwas genutzt, was es erst mit 3.4 gibt. Weiß aber nicht mehr was...
Gut, könnte die unittests ausbauen und dann
https://travis-ci.org/jedie/PyHardLinkBackup bzw.
https://ci.appveyor.com/project/jedie/pyhardlinkbackup dann erweitern mit älteren Versionen und schauen ob es läuft...
Aber ich dachte, evtl. gibt es ein "Validator" oder so... Wobei sowas wäre mit viel Fleißarbeit verbunden und ergibt keine 100% Sicherheit...
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 15:16
von DasIch
Wenn du durch das ausführen der Unittests auf unterschiedlichen Python Versionen nicht sehen kannst auf welchen Python Versionen dein Program funktioniert, funktioniert es auf keiner einzigen Version. Das ist auch ein spannender Entwicklungsprozess für eine Backuplösung.
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 15:20
von jens
Ich werde es so schon sehen... Doch noch gibt es keine Umfassenden Tests. Aber die Anfänge dafür.
Ich will es auch erst Produktiv einsetzten, wenn die Tests genug abdecken:
https://coveralls.io/github/jedie/PyHardLinkBackup
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 15:29
von Sirius3
@jens: ohne ausführliche Tests kann man aber auch nicht sagen, dass das Programm mit Python x.y läuft, nur weil es keinen Syntaxfehler gibt. Wenn Du also mit läuft unter Python 3.2 "werben" willst, solltest Du es mit 3.2 getestet haben.
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 15:32
von jens
Jup, diese Erkenntnis hatte ich ja schon eingangs Ausgedrückt:
jens hat geschrieben:So 100% kann man das wohl nicht feststellen, denke ich mir. Aber zumindest ein Anhaltspunkt liefern...
Man könnte halt nur nachsehen, ob APIs genutzt werden, die es generell erst ab Version XY gibt.
Naja, egal... Wird doch wohl keine die Arbeit gemacht haben, was?
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Montag 11. Januar 2016, 20:15
von DasIch
Das ist nicht eine Frage davon ob jemand die Arbeit gemacht hat oder nicht. Bei einer dynamischen Sprache wie Python kann man sowas einfach nicht brauchbar ermitteln.
Re: Python Kompatibilitäts-Erkennungs-Tool?!?
Verfasst: Dienstag 12. Januar 2016, 12:05
von jens
Das stimmt. War mich auch eh klar...
Nun brauche ich es eh nicht mehr: Es läuft mit 3.4 und 3.5, an 3.3 muß ich noch arbeiten...