CCS811 von Adafruit: Beispiel in Python2 kein Problem aber in Python3

  • Hallo wieder einmal, Habe den CCS811 schnell mit Python2 in Betrieb genommen. Die Umstellung auf Python3 ist mir unklar. Einfach ist das umeditieren der Beispieles CCS811_example.py (nur die Klammern beim Print). Python 3 findet aber den Module Adafruit_CCS811 nicht. Wo kann der sein - offensichtlich bei python2 ... aber wo genau. Wenn ich das weiß, kann ich ja mit sys.path.append(..) den dazunehmen.

    Bitte um Hilfe

    Danke

    Gottfried

  • CCS811 von Adafruit: Beispiel in Python2 kein Problem aber in Python3? Schau mal ob du hier fündig wirst!

  • Hallo,

    also ich brauche da noch Nachhilfe. Was habe ich gemacht:

    +++

    Code
    cd ~/
    git clone https://github.com/adafruit/Adafruit_CCS811_python.git
    cd Adafruit_CCS811_python/examples
    sudo python CCS811_example.py

    ---

    und dann funktionierte das Ding in Py2. Nach dem Hinweis mit pip3 war ich zuversichtlich und machte folgendes:

    +++

    cd /home/pi/sources

    git clone https://github.com/adafruit/Adafruit_CCS811_python.git

    oder?

    pip3 install Adafruit_CCS811

    cd Adafruit_CCS811_python/examples

    sudo python3 CCS811_example.py

    ---

    und handle mir folgendes ein:

    +++

    ImportError: No module named 'Adafruit bitfield'

    Bitte um einen Hinweis

    Danke

    Gottfried

  • Sorry ...

    $ sudo pip3 install Adafruit_CCS811

    Collecting Adafruit_CCS811

    Downloading https://www.piwheels.org/simple/adafrui…y3-none-any.whl

    Collecting Adafruit-bitfield>=1.5 (from Adafruit_CCS811)

    Downloading https://www.piwheels.org/simple/adafrui…y3-none-any.whl

    Collecting Adafruit-GPIO>=0.6.5 (from Adafruit_CCS811)

    Downloading https://www.piwheels.org/simple/adafrui…y3-none-any.whl

    Requirement already satisfied: spidev in /usr/lib/python3/dist-packages (from Adafruit-GPIO>=0.6.5->Adafruit_CCS811)

    Requirement already satisfied: adafruit-pureio in /usr/local/lib/python3.5/dist-packages (from Adafruit-GPIO>=0.6.5->Adafruit_CCS811)

    Installing collected packages: Adafruit-bitfield, Adafruit-GPIO, Adafruit-CCS811

    Successfully installed Adafruit-CCS811-0.2.1 Adafruit-GPIO-1.0.3 Adafruit-bitfield-1.5.1

    $ sudo pip3 install Adafruit_CircuitPython_CCS811

    Collecting Adafruit_CircuitPython_CCS811

    Downloading https://www.piwheels.org/simple/adafrui…y3-none-any.whl

    Requirement already satisfied: Adafruit-Blinka in /usr/local/lib/python3.5/dist-packages (from Adafruit_CircuitPython_CCS811)

    Collecting adafruit-circuitpython-register (from Adafruit_CircuitPython_CCS811)

    Downloading https://www.piwheels.org/simple/adafrui…y3-none-any.whl

    Requirement already satisfied: adafruit-circuitpython-busdevice in /usr/local/lib/python3.5/dist-packages (from Adafruit_CircuitPython_CCS811)

    Requirement already satisfied: sysv-ipc; platform_system != "Windows" in /usr/local/lib/python3.5/dist-packages (from Adafruit-Blinka->Adafruit_CircuitPython_CCS811)

    Requirement already satisfied: RPi.GPIO; platform_machine == "armv7l" or platform_machine == "armv6l" in /usr/lib/python3/dist-packages (from Adafruit-Blinka->Adafruit_CircuitPython_CCS811)

    Requirement already satisfied: rpi-ws281x>=4.0.0; platform_machine == "armv7l" or platform_machine == "armv6l" in /usr/local/lib/python3.5/dist-packages (from Adafruit-Blinka->Adafruit_CircuitPython_CCS811)

    Requirement already satisfied: Adafruit-PlatformDetect in /usr/local/lib/python3.5/dist-packages (from Adafruit-Blinka->Adafruit_CircuitPython_CCS811)

    Requirement already satisfied: Adafruit-PureIO in /usr/local/lib/python3.5/dist-packages (from Adafruit-Blinka->Adafruit_CircuitPython_CCS811)

    Requirement already satisfied: spidev; sys_platform == "linux" in /usr/lib/python3/dist-packages (from Adafruit-Blinka->Adafruit_CircuitPython_CCS811)

    Installing collected packages: adafruit-circuitpython-register, Adafruit-CircuitPython-CCS811

    Successfully installed Adafruit-CircuitPython-CCS811-1.1.5 adafruit-circuitpython-register-1.7.1

    ...und ALLES funktioniert....

    Ich entschuldige mich für meine ... Schusseligkeit

    Aber Du hast mich beharrlich zur Lösung geführt und dabei mich dazu gebracht mich (ein wenig) mit den Grundsätzen auseinanderzusetzen

    Danke

    Gottfried

  • sudo pip[3] ... ist ganz ganz GANZ GANZ schlecht - damit installierst du i.d.R. mal eben in die Systeminstallation von Python. Kann ordentlich was kaputt machen, muss aber nicht. Besser mit dem --user flag eine per-User Installation durchführen. Noch viel besser ist ein Virtualenv.

    Ganz davon abgesehen kann mit sudo bei der Installation u.U. ausgeführter Schadcode (Pakete im PyPI werden nicht geprüft!) deutlich mehr anrichten - oder prüfst du vorher jede Datei in der heruntergeladenen .tar.gz / .whl?

    Siehe auch https://dev.to/elabftw/stop-using-sudo-pip-install-52mn

    Edit: --user heißt's natürlich. Danke, Hofei!

  • Hallo,

    Zitat

    aber wo ist die Kurzbeschreibung aller mir unklaren Worte wie "User Installation", "Virtualenv" was ist das und ... und ... und...

    So als Übersicht / Startpunkt:

    https://wiki.ubuntuusers.de/pip/

    https://wiki.ubuntuusers.de/virtualenv/

    Besonders virtual envs bieten sich _sehr_ an. Auch, wenn du ein Skript später automatischen starten willst, ist das kein Problem. In der entsprechenden systemd Service Unit halt erst das virtual env aktivieren und dann das Skript starten.

    Gruß, noisefloor

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!