Seite 1 von 1

tox mit Python2 und Python3 nutzen

Verfasst: Donnerstag 30. Dezember 2010, 00:47
von derdon
Hallo,
ich habe vor, mein Projekt mittels tox so testen zu lassen, dass bei Verwendung von Python3 automatisch 2to3 aufgerufen wird. Ich dachte, das dies mit einem ``use_2to3=True`` in der setup.py getan sei — anscheinend ist das aber nicht der Fall.

Die Verzeichnisstruktur vom Testprojekt sieht so aus:

Code: Alles auswählen

├── foo.py
├── setup.py
├── test_foo.py
└── tox.ini
Hier der Inhalt der einzelnen Dateien: http://paste.pocoo.org/show/311738/

Und hier die Ausgabe von tox: http://paste.pocoo.org/show/311739/

Re: tox mit Python2 und Python3 nutzen

Verfasst: Donnerstag 30. Dezember 2010, 01:45
von derdon
Update: Habe meine setup.py aktualisiert: http://paste.pocoo.org/show/311763/. Leider hat es aber nichts gebracht :(

Re: tox mit Python2 und Python3 nutzen

Verfasst: Donnerstag 30. Dezember 2010, 11:55
von lunar
Eine in "setup.py" angegebene Option wirkt sich selbstverständlich nur auf jene Module aus, die auch mittels "setup.py" installiert werden. Bei Deinem Test-Modul ist das nicht der Fall. Du musst das Test-Modul entweder richtig installieren, oder "python setup.py test" konfigurieren und nutzen. Steht im Übrigen alles in der Dokumentation

Re: tox mit Python2 und Python3 nutzen

Verfasst: Donnerstag 30. Dezember 2010, 16:32
von derdon
OK, dann werde ich "python setup.py test" konfigurieren.

Re: tox mit Python2 und Python3 nutzen

Verfasst: Donnerstag 30. Dezember 2010, 16:47
von lunar
Ach ja, eine Alternative wäre natürlich noch, die Tests einfach zu schreiben, dass sie sowohl unter Python 2 als auch Python 3 laufen. Dank __future__ ist das nicht so schwer.

Re: tox mit Python2 und Python3 nutzen

Verfasst: Donnerstag 30. Dezember 2010, 17:08
von derdon
Ah stimmt, hab vergessen, dass es

Code: Alles auswählen

from __future__ import unicode_literals
gibt. Das macht es natürlich deutlich einfacher :)