Python3 のアップデート後に pipenv、pip が見つからない

Python3 のアップデート後に pipenv、pip が見つからない

私は Debian bullseye/sid を実行しており、最近 Sway ウィンドウ マネージャーを試すために Debian 不安定版にアップデートしました。これは、Python の最新バージョンにアップデートするまでは問題なく動作していました。私の python3 は現在バージョン 3.7.4 です。

アップデート以降、pipenv または pip をインポートできなくなり、他のいくつかのグローバル パッケージが欠落しています。

$ 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'

/usr/bin には python2.7、python3.5、python3.7 があります。pip がインストールされています: "which pip" は "/usr/bin/pip" と表示されます。pipenv をユーザー インストールとしてインストールしました (pip install --user pipenv)。バイナリが存在します。

この問題を調査する最善の方法について、誰かアドバイスをくれませんか?

編集:うーん、アップデートに加えて、デフォルトのPythonバージョンも変更しました:

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

これはお勧めしません、そして、私はほとんど常にベンヴスで仕事をしているので、たとえそれがそんなに問題だったとしても、私にとってはほとんど違いはなかったでしょう。休暇の前には、私は馬鹿げたことをします¯\_(ツ)_/¯

答え1

明らかなはずですが、次の方法でこの問題を解決しました。apt 検索では、pip の 2 つのバージョンが返されます。実行していたシステム全体の python バージョンは 3.x であると想定していましたが、確認していなかったため、次の点を見落としていました。通常、私はほとんどの時間 venvs で作業していました。

$ sudo apt-get install python3-pip

その後、pipenvを再インストールしました。ユーザーインストール:

$ pip install --user pipenv

そのため、debian 不安定版が依存関係を満たしていなかったため、依存関係を満たすために py3status の特定のバージョンをインストールするだけで済みました。

$ pip install py3tatus==3.16

もっとエレガントで Python 的な方法があれば、ぜひ教えてほしいのですが、ロックンロールにはこれで十分だと思います。

編集: 重要なコンテキストについては上記の編集を参照してください。

答え2

pip や pipenv を更新しましたか? 新しいバージョンに更新したということは、パッケージも更新する必要がある (互換性を保つため) ことを意味します。コマンドの後にバージョン番号を追加してみてくださいpip(例: pip3- which I use)。このような場合、pip( を使用した場合、新しいバージョンであるためインストールされていないため、それを使用してパッケージをインストールすることはできません。いずれにしても、pip3 をインストールするか、それに更新する必要がある可能性があります。

関連情報