JOH*_*HN 5 python ubuntu pip pipenv ubuntu-18.04
我使用的是 ubuntu 18。默认的 python3 版本是 3.6。我今天更新到 3.7 并更新替代品以指向 python3.7。
我可以通过键入 python3 来使用 python3.7。我也可以使用 pip3 --version (20.0.2)。
我可以使用 pipenv shell 激活虚拟环境。但我无法使用 pipenv install 安装包。它给了我以下错误:
pipenv.exceptions.InstallError]: ['Traceback (most recent call last):', ' File "/home/johnchan/.local/share/virtualenvs/src-lkQYyAWf/bin/pip", line 5, in <module>', ' from p
ip._internal.cli.main import main', "ModuleNotFoundError: No module named 'pip'"]
ERROR: ERROR: Package installation failed...
Run Code Online (Sandbox Code Playgroud)
运行 which pip3:/usr/local/bin/pip3
运行 which pipenv:/usr/local/bin/pipenv
在 pipenv 中输入 pip3 给出:
Traceback (most recent call last):
File "/home/johnchan/.local/share/virtualenvs/src-lkQYyAWf/bin/pip3", line 5, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
Run Code Online (Sandbox Code Playgroud)
python2 -m pip install --user --upgrade pip
python3 -m pip install --user --upgrade pip
Run Code Online (Sandbox Code Playgroud)
升级 pip(或 pip3,在本例中)后,如果发生以下情况:
$ ~ pip3 -V
Traceback (most recent call last):
File "/usr/local/bin/pip", line 7, in <module>
from pip._internal import main
ModuleNotFoundError: No module named 'pip._internal'
Run Code Online (Sandbox Code Playgroud)
强制重新安装pip:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall
Run Code Online (Sandbox Code Playgroud)
验证安装:
$ ~ pip3 -V
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
Run Code Online (Sandbox Code Playgroud)
现在pip3 install <package>
和pip3 install --user <package>
(对于用户级安装)将正常工作。
永远不应该有任何理由需要在提升模式下运行 pip。
(注意:对于 Python 2.7,只需将 python 替换为 python3,将 pip 替换为 pip3)
在 macOS 上也有同样的问题,这是跨平台的常见问题。