python3更新後找不到pipenv、pip

python3更新後找不到pipenv、pip

我正在運行 Debian bullseye/sid,最近更新到 Debian stable 以嘗試 Sway Windows 管理器。在我更新到更新版本的 python 之前,一切都很順利。我的python3目前版本是3.7.4。

自從更新以來,我無法再匯入 pipelinenv 或 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 pipelinenv)。二進位存在。

有人可以指導我如何最好地調查這個問題嗎?

編輯:嗯,除了更新之外,我還改變了預設的python版本:

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

這是不建議,而且,由於我幾乎總是在 venvs 工作,即使問題如此嚴重,對我來說也沒什麼區別。假期前我會做些蠢事 ́\_(ツ)_/́

答案1

我確信這應該是顯而易見的,但以下內容解決了這個問題。 apt 搜尋傳回兩個版本的 pip。我假設但沒有檢查,我運行的 python 的系統範圍版本是 3.x,因此忽略了以下內容。通常,我大部分時間都在 venvs 工作。

$ sudo apt-get install python3-pip

然後我重新安裝了 pipelinev 作為使用者安裝:

$ pip install --user pipenv

這讓我只能安裝特定版本的 py3status 來滿足依賴關係,因為 debian stable 超出了它:

$ pip install py3tatus==3.16

如果有一種更優雅或Python式的方法來做到這一點,我會很高興聽到它,但這對於搖滾樂來說似乎足夠接近了。

編輯:請參閱上面的編輯以了解重要的上下文。

答案2

您是否更新了 pip 和/或 pipelinev?由於您已更新至較新的版本,這可能意味著您的軟體包也需要更新(以相容)。嘗試在命令後添加版本號pip(例如pip3我使用的)。在這些情況下,如果您使用pip(因為它是更高版本,所以您不會安裝它,那麼使用它來安裝軟體包將不起作用。無論哪種方式,您可能需要安裝 pip3 或更新它。

相關內容