我从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
但是如果我尝试设置点子,我会得到:
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,但看来我需要做点操作才能做到这一点:
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']
答案 0 :(得分:4)
有时,在操作系统升级后,您需要重新安装软件包。试试:
sudo apt install --reinstall python3-pip
答案 1 :(得分:0)
我必须清除python3-venv并重新安装它:
zeno:~$ sudo apt purge python3-venv
然后
zeno:~$ sudo apt install python3-venv
谢谢
答案 2 :(得分:0)
dobairoland在4474中找到的esp-idf github(issue Espressif Docs)上给出了最适合我的解决方案:
from_entries
替代方法(1):最初,我能够使用sudo apt-get install python3 python3-pip python3-setuptools
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
硬编码的第3方bash安装脚本的别名解决此问题(之前提到的所有安装/重新安装均不适用于我)-所以这也可以是一种选择:
pip
此(可能不太合适的选项)可能在脚本中很有帮助:
sudo apt-get install python3-pip
alias pip="pip3"
替代方法(2)也有this hack在技术上对我有用,但将弃用的软件强制安装到系统上可能不是一个好主意:
if [ "$(cat /etc/os-release | grep VERSION_ID)" == 'VERSION_ID="20.04"' ]; then
alias pip="pip3"
else
echo "no pip alias"
fi
答案 3 :(得分:0)
我发现的最简单的方法是删除虚拟环境文件夹,重新创建它,然后使用pip重新安装依赖项,而pip现在又可以使用了:)
答案 4 :(得分:0)
我在 ubuntu 20 上遇到了同样的问题。我用这个 pip3 install --upgrade pip