Ankündigung

Einklappen
Keine Ankündigung bisher.

Python 3.2 Migration in develop bzw. 1.0 Release

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JuMi2006
    antwortet
    Da macht man mal nicht copy&paste und schon sowas - mea culpa

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    War schon besser
    Man soll den Abend ja nicht vor dem nächsten Tage loben:

    Code:
    /usr/local/smarthome/logics# 2to3-3.2 -f iodoms -f all system.py
    ....
    ImportError: No module named fix_iodoms
    Na, was könnte die letzte Meldung bedeuten?

    Tippfehler!

    2to3-3.2 -f idioms -f all meinelogik.py

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    War schon besser
    Man soll den Abend ja nicht vor dem nächsten Tage loben:

    Code:
    /usr/local/smarthome/logics# 2to3-3.2 -f iodoms -f all system.py
    RefactoringTool: Skipping implicit fixer: buffer
    RefactoringTool: Skipping implicit fixer: idioms
    Traceback (most recent call last):
      File "/usr/bin/2to3-3.2", line 5, in <module>
        sys.exit(main("lib2to3.fixes"))
      File "/usr/lib/python3.2/lib2to3/main.py", line 250, in main
        append_suffix=options.add_suffix)
      File "/usr/lib/python3.2/lib2to3/main.py", line 63, in __init__
        super(StdoutRefactoringTool, self).__init__(fixers, options, explicit)
      File "/usr/lib/python3.2/lib2to3/refactor.py", line 698, in __init__
        super(MultiprocessRefactoringTool, self).__init__(*args, **kwargs)
      File "/usr/lib/python3.2/lib2to3/refactor.py", line 210, in __init__
        self.pre_order, self.post_order = self.get_fixers()
      File "/usr/lib/python3.2/lib2to3/refactor.py", line 245, in get_fixers
        mod = __import__(fix_mod_path, {}, {}, ["*"])
    ImportError: No module named fix_iodoms

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Das Du python3-dev nicht installiert hast.

    Hatte ich in der Auflistung vergessen und nachgetragen.

    Sorry

    Marcus

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Ich nochmal, was wollte mir der Dichter damit sagen?

    Code:
    #python3 setup.py install
    running install
    running build
    running build_ext
    building 'rrdtool' extension
    gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -I/usr/include/python3.2mu -c rrdtool.c -o build/temp.linux-i686-3.2/rrdtool.o
    rrdtool.c:25:20: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    Vorher kracht es schon bei:

    Code:
    #pip-3.2 install ephem
    Downloading/unpacking ephem
      Downloading ephem-3.7.5.1.tar.gz (731kB): 731kB downloaded
      Running setup.py egg_info for package ephem
        
    Installing collected packages: ephem
      Running setup.py install for ephem
        building 'ephem._libastro' extension
        gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -Ilibastro-3.7.5 -I/usr/include/python3.2mu -c extensions/_libastro.c -o build/temp.linux-i686-3.2/extensions/_libastro.o
        extensions/_libastro.c:3:20: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden
        compilation terminated.
        error: command 'gcc' failed with exit status 1
        Complete output from command /usr/bin/python3 -c "import setuptools;__file__='/tmp/pip_build_root/ephem/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-9k4ush-record/install-record.txt --single-version-externally-managed:
        running install
    
    running build
    
    running build_py
    
    creating build
    
    creating build/lib.linux-i686-3.2
    
    creating build/lib.linux-i686-3.2/ephem
    
    copying src/ephem/__init__.py -> build/lib.linux-i686-3.2/ephem
    
    copying src/ephem/stars.py -> build/lib.linux-i686-3.2/ephem
    
    copying src/ephem/cities.py -> build/lib.linux-i686-3.2/ephem
    
    creating build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_launchpad_244811.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/all.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_usno_equinoxes.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/__init__.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_constants.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_observers.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_angles.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_locales.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_cities.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_launchpad_236872.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_rst.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_bodies.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_usno.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_stars.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_satellite.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_jpl.py -> build/lib.linux-i686-3.2/ephem/tests
    
    copying src/ephem/tests/test_dates.py -> build/lib.linux-i686-3.2/ephem/tests
    
    creating build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/examples.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/coordinates.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/faq.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/date.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/angle.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/catalogs.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/rise-set.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/tutorial.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/newton.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/quick.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/CHANGELOG.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/radec.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/reference.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    copying src/ephem/doc/index.rst -> build/lib.linux-i686-3.2/ephem/doc
    
    creating build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/oberon.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/uranus.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/neptune.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/europa.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/saturn.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/jupiter.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/phobos.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/mars.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    copying src/ephem/tests/jpl/hyperion.txt -> build/lib.linux-i686-3.2/ephem/tests/jpl
    
    creating build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/appgeo_deneb.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/apptopo_deneb.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/astrom_antares.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/apptopo_sun.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/riset_sun.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/astrom_mercury.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/risettran_rigel.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/risettran_moon.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/appgeo_moon.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/riset_moon.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/apptopo_moon.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/astrom_neptune.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/appgeo_jupiter.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/appgeo_sun.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    copying src/ephem/tests/usno/moon_phases.txt -> build/lib.linux-i686-3.2/ephem/tests/usno
    
    running build_ext
    
    building 'ephem._libastro' extension
    
    creating build/temp.linux-i686-3.2
    
    creating build/temp.linux-i686-3.2/extensions
    
    creating build/temp.linux-i686-3.2/libastro-3.7.5
    
    creating build/temp.linux-i686-3.2/extensions/data
    
    gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -Ilibastro-3.7.5 -I/usr/include/python3.2mu -c extensions/_libastro.c -o build/temp.linux-i686-3.2/extensions/_libastro.o
    
    extensions/_libastro.c:3:20: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden
    
    compilation terminated.
    
    error: command 'gcc' failed with exit status 1
    
    ----------------------------------------
    Cleaning up...
    Command /usr/bin/python3 -c "import setuptools;__file__='/tmp/pip_build_root/ephem/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-9k4ush-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip_build_root/ephem
    Storing complete log in /root/.pip/pip.log

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hi Thomas,

    Zitat von taichber Beitrag anzeigen
    Wäre eventuell Python 2.6 unter wheezy möglich?? Dann könnte ich auf Wheezy upgraden und dann meine Python 2.6 Programme parallel zu sh.py mit Python 3.2 laufen lassen
    es ist möglich 2.7 unter wheezy zu installieren. Damit kannst Du Deine 2.6 Programme laufen lassen. Die sind kompatibel.

    Das Update auf wheezy würde ich alleine wegen den Security-Updates empfehlen.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • taichber
    antwortet
    Zitat von mknx Beitrag anzeigen
    Für Squeeze gibt es leider keine fertigen 3.2 Pakete. Je nach Linux-Sattelfestigkeit sollte es möglich sein, diese selbst zu compilieren/bauen.
    Siehe z.B. RPi Debian Python3 - eLinux.org
    Ich würde direkt 3.2.5 verwenden.
    Das werde ich mir anschauen. Sollte machbar sein.

    Wäre eventuell Python 2.6 unter wheezy möglich?? Dann könnte ich auf Wheezy upgraden und dann meine Python 2.6 Programme parallel zu sh.py mit Python 3.2 laufen lassen

    Zitat von mknx Beitrag anzeigen
    Alternativ dazu könntest Du auch noch einen Pi (mit guter SD für 70€) in Betracht ziehen. Für den werde ich demnächst ein Image bauen.
    Das möchte ich möglichst vermeiden. Nicht wegen der Kosten, aber das wäre wieder ein weiterer Rechner der zu warten, usw.

    Wäre aber sicher eine Möglichkeit.

    Viele Grüße
    Thomas

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Mirko,

    Zitat von JuMi2006 Beitrag anzeigen
    Da schlägts fehl ... was hast Du mit python3 setup.py install vor ?
    Ich finde weder ein passende setup.py noch das Verzeichnis 3rd.

    Ansonsten ja eine richtige Paketschlacht ...
    dieser Abschnitt stellt die Python3-Schnittstelle für rrd bereit. Dafür gibt es momentan leider kein Paket. Und ja librrd-dev hat leider viele Abhängigkeiten.

    Ich denke Du bewegst Dich nicht in einem aktuellen develop-Branch.

    git pull && git checkout develop

    Bis bald

    Marcus

    P.S. für rrd fehlt momentan noch die min/max/avg-Methode an den Items. Werde ich die Tage nachreichen. Das gleiche gilt für Deinen Patch.

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Thomas,

    schön das Dir die Lösung gefällt und stabil läuft. So ist das auch gedacht. :-)

    Zitat von taichber Beitrag anzeigen
    Zu meiner Frage:
    Setze sh.py auf einem debian squeeze system ein.
    Möchte das system vorerst auf squeeze lassen und möchte auch python 2.6 weiter nutzen.
    Kann ich auf dieser Umgebung parallel python 3.2 mit sh.py nutzen? Können python 2.6 programme parallel dazu weiterlaufen?
    Prinzipiell können mehrere Python-Version parallel betrieben werden. Welche Version verwendet wir hängt von der Verlinkung ab. Also z.B. python -> python2.6.2 oder python3 -> python3.2.3.

    Für Squeeze gibt es leider keine fertigen 3.2 Pakete. Je nach Linux-Sattelfestigkeit sollte es möglich sein, diese selbst zu compilieren/bauen.
    Siehe z.B. RPi Debian Python3 - eLinux.org
    Ich würde direkt 3.2.5 verwenden.

    Alternativ dazu könntest Du auch noch einen Pi (mit guter SD für 70€) in Betracht ziehen. Für den werde ich demnächst ein Image bauen.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Zitat von mknx Beitrag anzeigen
    Hallo,

    ich habe develop auf Python 3.2 umgestellt. Es wird momentan nicht für den produktiven Einsatz empfohlen!

    Nebenbei sind noch ein paar andere Dinge verbessert worde, so kann das rrd-Plugin nun auch mit den Plots der smartVISU verwendet werden.

    Folgende Schritte sind auf einem Debian/Ubuntu notwendig:
    Code:
    # Wenn man das rrd Plugin nutzen möchte
    apt-get install librrd-dev
    cd lib/3rd/rrdtool
    python3 setup.py install
    Da schlägts fehl ... was hast Du mit python3 setup.py install vor ?
    Ich finde weder ein passende setup.py noch das Verzeichnis 3rd.

    Ansonsten ja eine richtige Paketschlacht ...

    Zur Info:
    # cat /proc/version
    Linux version 3.2.0-4-686-pae (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.46-1

    Einen Kommentar schreiben:


  • taichber
    antwortet
    Python 3.2 und Pyhton 2.6 auf Debian Squeeze

    Hallo Marcus,

    vorab danke und Kompliment zu smarthome.py! Ich finde super klasse, was Du hier gestartet hast.
    Hatte vorher je ein wiregate und ein communitygate als KNX 1wire gateway (für ein Haus und eine Wohnung).
    Bin jetzt auf sh.py umgestiegen für 1wire. Läuft seit Wochen super, stabil und braucht nur minimal Hauptspeicher. Macht Spaß!

    Zu meiner Frage:
    Setze sh.py auf einem debian squeeze system ein.
    Möchte das system vorerst auf squeeze lassen und möchte auch python 2.6 weiter nutzen.
    Kann ich auf dieser Umgebung parallel python 3.2 mit sh.py nutzen? Können python 2.6 programme parallel dazu weiterlaufen?

    Viele Grüße
    Thomas

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    ich habe develop auf Python 3.2 umgestellt. Es wird momentan nicht für den produktiven Einsatz empfohlen!

    Nebenbei sind noch ein paar andere Dinge verbessert worde, so kann das rrd-Plugin nun auch mit den Plots der smartVISU verwendet werden.

    Folgende Schritte sind auf einem Debian/Ubuntu notwendig:
    Code:
    # python3 installieren
    $ sudo apt-get install python3 python3-dev python3-setuptools
    
    # für Sonnenaufgang & Co.
    $ sudo easy_install3 pip
    $ sudo pip-3.2 install ephem
    
    # Wenn man das rrd Plugin nutzen möchte
    apt-get install librrd-dev
    cd lib/3rd/rrdtool
    python3 setup.py install
    
    # Es müssen evtl. kleine Anpassungen an den Logiken vorgenommen werden
    # der folgende Befehl zeigt Änderungen an
    2to3-3.2 -f idioms -f all meinelogik.py
    # der folgende übernimmt die 'Änderungen
    2to3-3.2 -f idioms -f all [B]-w[/B] meinelogik.py
    
    # Python3 nutzt die pyc Files nicht mehr, die können gelöscht werden
    find . -name *.pyc -type f -print0 | xargs -0 /bin/rm -f
    Über Tester und Feedback freue ich mich.

    EDIT: Ein Backup vor dem Update ist angebracht...

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    Ok es wird ernst. Bitte keine Pull-Request mehr stellen oder Änderungen in github in den nächsten Tagen machen.

    Ich stelle es auf Python3.2 um.

    Wenn ich fertig bin, gebe ich hier wieder Bescheid.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hi Hendrik,

    ja leider ist die 3.X Reihe nicht kompatibel mit der 2.X Reihe. Und ja, es gibt einige nette Features in der 3.2 die das Programmieren einfacher machen.

    Im Hintergrund muss einiges umgestellt werden. Für den Benutzer ist wahrscheinlich kein großer Aufwand und ich würde, auch da, unterstützen.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Ich antworte mir mal selbst:
    What?s New In Python 3.0 ? Python v3.0.1 documentation

    3.0 ist nicht abwärtskompatibel.. Ok.

    Einen Kommentar schreiben:

Lädt...
X