pipenv, pip не найден после обновления python3

pipenv, pip не найден после обновления python3

Я использую Debian bullseye/sid и недавно обновился до Debian irregular, чтобы поэкспериментировать с менеджером окон Sway. Все шло хорошо, пока я не обновился до более новой версии 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

Этоне рекомендуется, и, поскольку я почти всегда работаю в venvs, это не имело бы для меня большого значения, даже если бы это было так проблематично. Перед праздниками я делаю глупости ¯\_(ツ)_/¯

решение1

Я уверен, что это должно было быть очевидно, но следующее решило эту проблему. Поиск apt возвращает две версии pip. Я предполагал, но не проверял, что общесистемная версия python, которую я запускал, была 3.x, и поэтому упустил следующее. Обычно я работал в venvs большую часть времени.

$ sudo apt-get install python3-pip

Затем я переустановил pipenv какпользовательская установка:

$ pip install --user pipenv

Мне оставалось только установить определенную версию py3status, чтобы удовлетворить зависимость, поскольку Debian Failure ее превышал:

$ pip install py3tatus==3.16

Если есть более элегантный или питонский способ сделать это, я был бы рад услышать о нем, но этот, кажется, слишком близок к рок-н-роллу.

правка: см. редактирование выше для важного контекста.

решение2

Вы обновили pip и/или pipenv? Поскольку вы обновились до более новой версии, это может означать, что ваши пакеты также нуждаются в обновлении (для совместимости). Попробуйте добавить номер версии после ваших pipкоманд (например pip3, - который я использую). В этих случаях, если вы использовали pip(поскольку это более поздняя версия, и вы не могли ее установить, то использование ее для установки пакета не сработает. В любом случае вам может потребоваться установить pip3 или обновиться до него.

Связанный контент