ubuntuusers.de

Python & web3 library installieren

Status: Gelöst | Ubuntu-Version: Ubuntu 23.10 (Mantic Minotaur)
Antworten |

marculix

Anmeldungsdatum:
10. August 2020

Beiträge: 17

Hallo

Gibt es einen Ubuntu nativen Weg um das web3 library von Python3 zu installieren? Ich benutze Ubuntu 23.10.

Was ich versucht habe:

1
2
apt-get install python3-pip
pip install web3

Ausgabe:

╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.11/README.venv for more information.

Den ersten Weg funktioniert nicht, das web3 library scheint nicht im Repo verfügbar zu sein. Den zweiten Weg über das virtual environment gibt ständig andere Fehlermeldungen aus die ich nicht auflösen konnte. Dasselbe Problem mit pipx.

Ich bin seit 30 Jahren OpenSource Entwickler aber der ganze Python Zauber scheint einen PhD in Pyhton vorauszusetzen, das war einfacher mit PERL.

Ein Python Guru hier der einen einfachen Weg kennt web3 libs unter Python zu installieren?

Gruss MG

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17521

marculix schrieb:

Ich bin seit 30 Jahren OpenSource Entwickler aber der ganze Python Zauber scheint einen PhD in Pyhton vorauszusetzen, das war einfacher mit PERL.

python3 -m venv meinvenv
meinvenv/bin/pip install web3
meynvenv/bin/python3 # Da hast du jetzt auch web3 verfügbar

meinvenv ist ein Ordner den du irgendwo ablegen kannst, es kann sein das Abhängigkeiten fehlen, z.B. wenn Python Erweiterungen von C/C++ Teilen abhängen, dazu braucht man aber die Fehlermeldung.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11248

Wohnort: München

Debian bzw. Ubuntu machen das aus Sicherheitsüberlegungen heraus, dass man nicht so einfach Python-Bibliotheken für den System-Interpreter an der Paketverwaltung vorbei installieren kann.

Ich habe das kurz in einer Ubuntu 23.10 VM durchgespielt und hatte keine Probleme:

sudo apt install python3-full
python3 -m venv .venv
. .venv/bin/activate  # das setzt die Umgebungsvariablen so, dass man den python-Interpreter und die Bibliotheken aus dem venv nutzen kann
pip install -U pip setuptools  # war der Vorschlag aus https://web3py.readthedocs.io/en/stable/troubleshooting.html#setup-environment
pip install -U web3
deactivate # um das venv wieder zu verlassen 

Wichtig zu erwähnen ist, dass man ein Virtual Environment nach der Erstellung nicht mehr verschieben darf, da sonst die Pfadstrukturen nicht mehr richtig aufgelöst werden können und man den Python-Interpreter daraus nutzen muss, um die dort installierten Module nutzen zu können - also in dem Fall .venv/bin/python

pipx funktioniert nur für Anwendungen, nicht für Bibliotheken.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

wie das mit pip funktioniert ist auch im Wiki erklärt: pip. Ein venv zu benutzen gilt schon lange als "best practice". Ab einer bestimmten pip-Version (unter Ubuntu ab 23.04., unter Debian ab Bookworm) wird das via pip halt stärker forciert - aber eben nicht erzwungen.

Gruß, noisefloor

marculix

(Themenstarter)

Anmeldungsdatum:
10. August 2020

Beiträge: 17

seahawk1986 schrieb:

Ich habe das kurz in einer Ubuntu 23.10 VM durchgespielt und hatte keine Probleme:

sudo apt install python3-full
python3 -m venv .venv
. .venv/bin/activate  # das setzt die Umgebungsvariablen so, dass man den python-Interpreter und die Bibliotheken aus dem venv nutzen kann
pip install -U pip setuptools  # war der Vorschlag aus https://web3py.readthedocs.io/en/stable/troubleshooting.html#setup-environment
pip install -U web3
deactivate # um das venv wieder zu verlassen 

Endlich, vielen Dank. Python hat nun auf die web3 library Zugriff. Vielen Dank!

Gruss MG

Antworten |