pipenv, pip nach Python3-Update nicht gefunden

pipenv, pip nach Python3-Update nicht gefunden

Ich verwende Debian Bullseye/Sid und habe vor Kurzem auf Debian Unstable aktualisiert, um mit dem Sway-Fenstermanager zu experimentieren. Das lief problemlos, bis ich auf eine neuere Python-Version aktualisiert habe. Mein Python3 ist derzeit Version 3.7.4.

Seit dem Update kann ich pipenv oder pip nicht mehr importieren und einige andere globale Pakete fehlen.

$ pipenv shell
Traceback (most recent call last):
  File "/home/user/.local/bin/pipenv", line 6, in <module>
    from pipenv import cli
ModuleNotFoundError: No module named 'pipenv'

In /usr/bin habe ich python2.7, python3.5 und python3.7. Pip ist installiert: „which pip“ lautet „/usr/bin/pip“. Ich habe pipenv als Benutzerinstallation installiert (pip install --user pipenv). Die Binärdatei ist vorhanden.

Kann mir jemand Hinweise geben, wie ich dieses Problem am besten untersuchen kann?

bearbeiten:hm, zusätzlich zur Aktualisierung habe ich auch die Standard-Python-Version geändert:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

Das istNicht empfohlen, und da ich fast immer in Venvs arbeite, hätte es für mich kaum einen Unterschied gemacht, selbst wenn es so problematisch gewesen wäre. Vor den Ferien mache ich dumme Sachen ¯\_(ツ)_/¯

Antwort1

Ich bin sicher, es hätte offensichtlich sein müssen, aber das Folgende hat dieses Problem gelöst. Eine apt-Suche gibt zwei Versionen von Pip zurück. Ich war davon ausgegangen, aber nicht überprüft, dass die systemweite Version von Python, die ich ausführte, 3.x war, und hatte daher das Folgende übersehen. Normalerweise hatte ich die meiste Zeit in Venvs gearbeitet.

$ sudo apt-get install python3-pip

Ich habe dann pipenv neu installiert alsBenutzerinstallation:

$ pip install --user pipenv

Damit blieb mir nur noch, eine bestimmte Version von py3status zu installieren, um eine Abhängigkeit zu erfüllen, da Debian Unstable diese überschritt:

$ pip install py3tatus==3.16

Wenn es eine elegantere oder pythonischere Möglichkeit gibt, dies zu tun, würde ich mich freuen, davon zu hören, aber für Rock 'n' Roll scheint das hier nah genug dran zu sein.

Bearbeiten: wichtige Zusammenhänge siehe Bearbeitung oben.

Antwort2

Haben Sie Ihr Pip und/oder Pipenv aktualisiert? Da Sie auf eine neuere Version aktualisiert haben, müssen Ihre Pakete möglicherweise ebenfalls aktualisiert werden (um kompatibel zu sein). Versuchen Sie, die Versionsnummer nach Ihren pipBefehlen hinzuzufügen (z. B. pip3- was ich verwende). In diesen Fällen pipfunktioniert die Installation eines Pakets nicht, wenn Sie verwendet haben (da es sich um eine neuere Version handelt und Sie sie daher nicht installiert hätten). In jedem Fall müssen Sie möglicherweise pip3 installieren oder darauf aktualisieren.

verwandte Informationen