当前位置: 首页 > 知识库问答 >
问题:

升级到Ubuntu20.04.pip

宗政招
2023-03-14

我从19.10升级到Ubuntu 20.04,现在我不能使用pip。

zeno:~$ pip --version

Command 'pip' not found, but there are 18 similar ones.

Python已安装:

zeno:~$ python3 --version
Python 3.8.2

但如果我试着检查pip,我会得到:

    zeno:~/Desktop/tetris$ sudo apt install python3-pip
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    python3-pip is already the newest version (20.0.2-5ubuntu1).
    The following packages were automatically installed and are no longer required:
     dh-python elpa-async enchant gedit-plugin-zeitgeist gir1.2-mutter-5
     gnome-software-common libappstream-glib8 libapt-pkg5.90
     libboost-date-time1.67.0 libboost-iostreams1.67.0 libbrlapi0.6
     libcodec2-0.8.1 libcroco3 libdns-export1104 libdns1104 libdvdread4
     libegl1-mesa libenchant1c2a libept1.5.90 libevent-2.1-6 libexiv2-14
     libfprint0 libgeoip1 libgit2-27 libglvnd-core-dev libgnome-desktop-3-18
     libgspell-1-1 libgutenprint-common libgutenprint9 libgweather-3-15 libicu63
     libiptc0 libisc-export1100 libisc1100 libisc1105 libisl21 liblivemedia64
     liblouis17 liblwres161 libmicrodns0 libmozjs-60-0 libmutter-5-0 libmysofa0
     libnettle6 liboauth0 libperl5.28 libplymouth4 libpoppler90
     libpython3.7-minimal libqpdf21 libsnmp30 libusbmuxd4 libx11-xcb-dev
     libx265-176 libxcb-dri2-0-dev libxcb-dri3-dev libxcb-shape0-dev
     libxcb-sync-dev libxcb-xfixes0-dev libxshmfence-dev libzeitgeist-2.0-0
     perl-modules-5.28 printer-driver-gutenprint python-gobject-2
     python3-asn1crypto python3-pypdf2 python3.7-minimal ubuntu-system-service
     x11proto-composite-dev x11proto-fixes-dev
   Use 'sudo apt autoremove' to remove them.
   0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我迷路了。谢谢你的帮助

使现代化

我使用venv创建虚拟环境。当没有激活venv时,我可以使用pip3:

zeno:~/Desktop/tetris$ pip3 -V
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

但是如果我激活一个venv,它就不起作用了:

(.tetris) zeno:~/Desktop/tetris$ pip3
Traceback (most recent call last):
  File "/home/zeno/Desktop/tetris/.tetris/bin/pip3", line 6, in <module>
    from pip._internal import main
ModuleNotFoundError: No module named 'pip'

感谢您的建议和持续的帮助。

使现代化

我尝试删除venv并创建一个新的venv,但似乎我需要pip工作才能做到这一点:

zeno:~/Desktop/tetris$ python3 -m venv .tetris

给予:

The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/home/zeno/Desktop/tetris/.tetris/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

共有3个答案

商振
2023-03-14

最适合我的解决方案是dobairoland在esp idf github(第4474期)上给出的,如Espressif文档中所示:

sudo apt-get install python3 python3-pip python3-setuptools

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

备选方案(1):起初,我可以使用第三方bash安装脚本的别名来解决这个问题,该脚本是用pip硬编码的(前面提到的安装/重新安装都不适用于我),因此这也可以是一个选项:

sudo apt-get install python3-pip
alias pip="pip3"

这个(公认不太优雅的选项)可能对脚本有帮助:

if [ "$(cat /etc/os-release | grep VERSION_ID)" == 'VERSION_ID="20.04"' ]; then
 alias pip="pip3"
else 
  echo "no pip alias"
fi

备选方案(2)还有一种黑客技术在技术上对我有效,但将不推荐的软件强制安装到系统上可能不是一个好主意:

wget https://bootstrap.pypa.io/get-pip.py
sudo python2.7 get-pip.py
方韬
2023-03-14

我不得不清除python3-venv并重新安装它:

zeno:~$ sudo apt purge python3-venv

然后

zeno:~$ sudo apt install python3-venv

谢谢大家

贡烨烁
2023-03-14

有时在操作系统升级后,您需要重新安装软件包。尝试:

sudo apt install --reinstall python3-pip
 类似资料:
  • FIS 以下统称为 FIS2 简介 FIS3相对FIS2来说接口改动较大,并不是不考虑版本上的兼容,而是不愿意做简单的小修小补,希望从整体的角度打造一个易用性和可扩展性达到一个全新高度的工具。FIS2 与FIS3将并行维护,并且绝大部分插件是兼容的。 功能升级点简介 RoadMap目录定制更简单 FIS2中roadmap是最先匹配生效的,如果想覆盖解决方案的默认配置比较麻烦。FIS3中使用了类似c

  • Refer users to this document when upgrading to Babel 7. Because not every breaking change will affect every project, we've sorted the sections by the likelihood of a change breaking tests when upgradi

  • 为了帮助大伙儿升级,我们为现在的Apache用户提供了一份重要信息的文档说明。这些只是一些简要说明,你可以从新特性文档或src/CHANGES文件中得到更多信息。 这篇文档仅仅描述了从版本 2.0 到 2.2 的变化,如果你是从1.3版进行升级的,请查考从1.3升级到2.0文档。 编译时配置的改变 编译过程与2.0版本非常相似,你曾经使用过的configure命令行(在安装目录下的build/co

  • 为了帮助大伙儿升级,我们为现在的Apache用户提供了一份重要信息的文档说明。这些只是一些简要说明,你可以从新特性文档或src/CHANGES文件中得到更多信息。 编译时配置的改变 Apache现在使用autoconf和libtool系统来进行安装进程的配置。这个系统用起来很像Apache1.3的APACI系统,但并不相同。 在普通的选择编译模块的基础上,Apache2.0把请求进程的主要部分移到

  • WARNING 本升级指南仅适用于 2.2 版本升级至 2.3 版本,如果你并非 2.2 版本,请查看其他升级指南,Plus 程序不允许跨版本升级! 更新代码 预计耗时: 2 小时 这是你自我操作的步骤,确认将你的 2.2 版本代码升级到 2.3 版本,如果你做过一些自定义修改可能会出现代码冲突,你需要解决。 升级依赖 预计耗时: 3 分钟 进入 Plus 程序目录,执行: composer up

  • WARNING 本升级指南仅适用于 2.1 版本升级至 2.2 版本,如果你并非 2.1 版本,请查看其他升级指南,Plus 程序不允许跨版本升级! 更新代码 预计耗时: 1 小时 这是你自我操作的步骤,确认将你的 2.1 版本代码升级到 2.2 版本,如果你做过一些自定义修改可能会出现代码冲突,你需要解决。 升级依赖 预计耗时: 3 分钟 进入 Plus 程序目录,执行: composer up