在 Ubuntu 16.04 上使用 pip3 安装时出现奇怪的问题

在 Ubuntu 16.04 上使用 pip3 安装时出现奇怪的问题

由于某些原因,我尝试使用全局 pip 安装软件包。但是,我遇到了一个奇怪的问题,我似乎无法弄清楚或在网上找到类似的问题。

基本上,当我运行时pip3 install requests它看起来很好并且没有错误。所有输出看起来都符合预期:

$ pip3 install requests
Collecting requests
  Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests)
  Using cached https://files.pythonhosted.org/packages/69/1b/b853c7a9d4f6a6d00749e94eb6f3a041e342a885b87340b79c1ef73e3a78/certifi-2019.6.16-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests)
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests)
  Using cached https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl
Collecting idna<2.9,>=2.5 (from requests)
  Using cached https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl
Installing collected packages: certifi, chardet, urllib3, idna, requests

You are using pip version 10.0.0, however version 19.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

但当我真正要使用它时,却找不到它。如果我运行pip3 freeze它,它不在列表中。如果我再次运行 install,它还是会做同样的事情,它不会告诉我它已经安装了。

奇怪的是,如果我在虚拟机中,我可以正常运行 pip。

我尝试按照其他地方的说明进行卸载并重新安装,但似乎我没有使用 apt 安装 pip 或 pip3,如果我在计算机上搜索任何与 pip 相关的内容,我只会得到此列表:

/tmp/pip-uninstall-8xbhacsr/usr/local/bin/pip
/tmp/pip-uninstall-4xxnbmyf/usr/local/bin/pip
/tmp/pip-uninstall-2yp5we6l/usr/local/bin/pip
/root/.cache/pip
/home/ryan/.vscode/extensions/batisteo.vscode-django-0.19.0/.venv/bin/pip
/home/ryan/.vscode/extensions/batisteo.vscode-django-0.19.0/.venv/lib/python3.6/site-packages/pip
/home/ryan/.cache/pip
/home/ryan/.virtualenvs/project-name/bin/pip
/home/ryan/.virtualenvs/project-name/lib/python3.6/site-packages/pip
/home/ryan/.virtualenvs/other-project-name/bin/pip
/home/ryan/.virtualenvs/other-project-name/lib/python3.6/site-packages/pip
/usr/local/bin/pip
/usr/local/lib/python3.6/site-packages/pip

我确实尝试使用 apt 安装 pip3,希望它能覆盖我现有的 pip,但似乎没有奏效。我已经删除了 apt 安装,因为没有任何变化,而且我不希望 2 个不同的 pip 以某种方式发生冲突。

我犹豫着是否直接删除 pip 文件,因为我担心这可能会让事情变得更糟。我仍然不确定我最初是如何安装 pip 的,所以我甚至不知道这是否能有效地解决问题。

有人知道如何解决这个问题吗?

答案1

经过进一步挖掘后,我发现了有关如何删除 pip 的建议:

$ python -m pip uninstall pip setuptools
Uninstalling pip-10.0.0:
  Would remove:
    /usr/local/bin/pip
    /usr/local/bin/pip3
    /usr/local/bin/pip3.6
    /usr/local/lib/python3.6/site-packages/pip-10.0.0.dist-info/*
    /usr/local/lib/python3.6/site-packages/pip/*
Proceed (y/n)?

选择“是”会导致权限错误,而使用 sudo 会导致权限错误,/usr/bin/python: No module named pip所以我决定手动删除文件sudo rm -rf /usr/local/bin/pip /usr/local/bin/pip3 /usr/local/bin/pip3.6 /usr/local/lib/python3.6/site-packages/pip-10.0.0.dist-info /usr/local/lib/python3.6/site-packages/pip

后来 pip 似乎真的消失了,然后我重新安装了sudo python3.6 -m easy_install pip

之后我得到了一个最新的 pip,现在我能够安装了pip3 install --user requests。如果没有 --user 标志,我会收到权限错误,但只要它有效,我就可以使用该标志!

相关内容