python - Pipenv "ModuleNotFoundError: No module named 'pip'" 升级到 python3.7 后
问题描述
我使用的是 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...
运行 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'
解决方案
python2 -m pip install --user --upgrade pip
python3 -m pip install --user --upgrade pip
升级 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'
强制重新安装 pip:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall
验证安装:
$ ~ pip3 -V
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
现在pip3 install <package>
和pip3 install --user <package>
(对于用户级安装)将正常工作。
永远不应该有任何理由需要在提升模式下运行 pip。
(注意:对于 Python 2.7,只需将 python 替换为 python3,将 pip 替换为 pip3)
在 macOS 上也有同样的问题,这是跨平台的常见问题。
推荐阅读
- android - Android中的视图绑定与数据绑定
- echarts - 隐藏轴时如何隐藏轴名称
- javascript - 使用 Props 在 React App 中未实现 Css 类
- excel-formula - 荷兰公式不适用于英文 Excel 版本
- python - 在 Python 中通过循环验证登录用户
- linux - “docker exec container bash”在詹金斯中不起作用
- cookies - 修改 JMeter 中的 cookie 以在值周围包含花括号
- jquery - 激活按钮时切换元素的不同类名
- vue.js - 使用 vue3 和 webpack 模块联合进行状态管理
- label - OpenLayers - 矢量标签未显示在小特征上