Module installieren: pip, zlib usw.

Probleme bei der Installation?
Antworten
Octeon
User
Beiträge: 14
Registriert: Sonntag 23. September 2018, 08:08

Hallo zusammen,

eigentlich wollte ich nur dieses Modul nutzen:
https://pypi.org/project/aprs/

Also folgendes unter Linux Mint eingegeben:
pip install aprs
Ergebnis:
bash: /usr/local/bin/pip: /usr/bin/python: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden

Also weiter gesucht. Dann:
python -m ensurepip --default-pip
Ergebnis:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.7/ensurepip/__main__.py", line 5, in <module>
sys.exit(ensurepip._main())
File "/usr/local/lib/python3.7/ensurepip/__init__.py", line 204, in _main
default_pip=args.default_pip,
File "/usr/local/lib/python3.7/ensurepip/__init__.py", line 117, in _bootstrap
return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
File "/usr/local/lib/python3.7/ensurepip/__init__.py", line 27, in _run_pip
import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available

Ok, dann weiter nach zlib gesucht und folgendes ausgeführt:
sudo apt-get install zlib1g-dev
Ergebnis: scheint ok zu sein.

Also noch mal:
python -m ensurepip --default-pip
Ergebnis:
[..]
zipimport.ZipImportError: can't decompress data; zlib not available

Oder vielleicht
python3 -m pip install aprs
Ergebnis:
/usr/local/bin/python: No module named pip

Wie gesagt, eigentlich wollte ich nur
import aprs
machen...

Was mache ich falsch? Warum enthält das "aprs-7.0.0.tar.gz" nicht einfach ein "aprs.py"...?

Für Hinweise wäre ich sehr dankbar.

Gruß
Max
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das sieht nach einer defekten oder zumindest massiv eingeschränktenPython Installation aus. Hast du 3.7 selber compiliert?
Octeon
User
Beiträge: 14
Registriert: Sonntag 23. September 2018, 08:08

Wenn ich mich recht erinnere: ja!

Wie kann ich denn die vorhandene Python3.7-Installation "reparieren"?
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn Du Python selbst compilieren willst, dann mußt Du eben dafür sorgen, dass alle Abhängigkeiten erfüllt sind.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das nachtraegliche Installieren von libz-dev hilft halt nicht. Dann koennen nur Programme die *in der Zukunft* kompiliert werden Unterztuetzung dafuer einbauen. Wenn du also auf deinem selbstgebauten Python bestehst, musst du es nochmal bauen. Und ein bisschen genauer auf die Ausgaben achten, was da so alles nicht gefunden wurde & darum nicht mitgebaut wird. Da fallen mir noch ne Menge andere Dinge wie zb tkinter etc ein, die du ggf. nicht hast.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Was auch noch zu Problemen führen kann ist das `python` bei Dir anscheinend jetzt Python 3 startet. Das sollte eigentlich immer Python 2 sein. Das `/usr/local/bin/python` würde ich löschen.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

@__blackjack__: Unter Arch Linux und Derivaten ist `python` schon seit etlichen Jahren Python 3. Aber unter Arch muss man normalerweise auch nichts selbst kompilieren, wenn man eine aktuelle Version haben möchte. ;-)
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wobei apt-get eher nach nem Debian-basierten System klingt und da ist python AFAIK Python 2.7.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@narpfel: Dann ist Arch IMHO ziemlich kaputt, denn das `python` ohne irgendwas immer Python 2 bedeutet, ist etwas was die Python-Entwickler festgelegt haben, damit die selben Probleme nicht bei jedem kommenden Major-Versions-Wechsel wieder aufkommen. `python` ist Python 2, `python3` ist Python 3, `python4` wird Python 4, und so weiter.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

Ich hab grad mal nachgeschaut. Das stimmt bei Arch is das so! Der erste Ausdruck is mit Tab

Code: Alles auswählen

[tholo@archer ~]$ py
pycharm-eap        python             python3            python3-config
pydoc              python2            python3.7          python-config
pydoc2             python2.7          python3.7-config   pyvenv
pydoc3             python2.7-config   python3.7m         pyvenv-3.7
pydoc3.7           python2-config     python3.7m-config  
[tholo@archer ~]$ python --version
Python 3.7.0
[tholo@archer ~]$ python2 --version
Python 2.7.15
[tholo@archer ~]$ python2 --version
Python 2.7.15
[tholo@archer ~]$ python2.7 --version
Python 2.7.15
Da ich eh nur mit 3.7 arbeite ist mir das noch nicht aufgefallen. Finde das also nicht verwerflich ;)
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Tholo: Das Problem ist halt das Python-Programme die in der ersten Zeile ``#!/usr/bin/env python`` zu stehen haben unter Windows, Mac, und allen Nicht-Arch-Derivaten funktionieren, nur bei Dir halt nicht. Und umgekehrt musst Du darauf achten das bei Deinen Python 3.x-Programmen nicht so zu machen, denn die werden so dann nur unter Arch-Laufen laufen und überall anders auf die Nase fallen.

Und beim OP ist das zusätzliche Problem das Pakete die er über die Paketverwaltung installiert, erwarten das ``python`` ein Python 2.7 ist. Wenn man das ändert, kann man sich also durchaus das System oder zumindest einzelne Programme/Pakete kaputt machen, weil die mit dem Python 3 unter ``/usr/local/bin/python`` nicht funktionieren werden.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

Ohh an die erste Zeile hab ich garnicht gedacht. Da hast du natürlich recht. Ich werde da genauer drauf achten.
Ich hab mal ein Ticket geschrieben und auf Pep 394 verwiesen.
Da steht das wirklich explizit drin.

Aber wie mir scheint, interessiert das die Arch Devs nicht die verwiesen auf Pep404
https://bugs.archlinux.org/task/23910
Antworten