Python 安装pip包或升级pip时出现环境错误[Errno 2]
直到最近,皮普一直工作得很好。首先,我尝试使用Python 安装pip包或升级pip时出现环境错误[Errno 2],python,python-2.7,pip,cryptography,Python,Python 2.7,Pip,Cryptography,直到最近,皮普一直工作得很好。首先,我尝试使用 pip install -e [some-git-link] 我得到了错误 由于环境错误,无法安装程序包:[Errno 2]没有这样的文件或目录:'/home/me/.local/lib/python2.7/site-packages/pip-19.0.1.dist-info/METADATA' 然后我将cd光盘放入网站包,文件夹是空的。事实上,我已经在dis软件包中安装了pip,它的版本是18.1,而不是19.0 我试图通过 pip insta
pip install -e [some-git-link]
我得到了错误
由于环境错误,无法安装程序包:[Errno 2]没有这样的文件或目录:'/home/me/.local/lib/python2.7/site-packages/pip-19.0.1.dist-info/METADATA'
然后我将cd光盘放入网站包,文件夹是空的。事实上,我已经在dis软件包中安装了pip,它的版本是18.1,而不是19.0
我试图通过
pip install -U pip
但我也犯了同样的错误
打字
pip --version
我明白了
/usr/local/lib/python2.7/dist-packages/pip/_-vendor/requests/init.py:83:RequestsDependencyWarning:旧版本的加密[1,2,3]可能会导致速度减慢。
warnings.warnwarning,RequestsDependencyWarning
来自/usr/local/lib/python2.7/dist-packages/pip-python2.7的pip 18.1
因此,似乎安装了PIP18.1。的确,如果我尝试的话
sudo apt-get install python-pip
我明白了
python pip已经是最新版本8.1.1-2ubuntu0.4
0已升级,0已新安装,0已删除,62未升级
我想知道是否所有这些问题都是来自密码警告,所以我试着这么做
sudo pip install --upgrade cryptography
但很明显,我回到了相同的环境错误。您可以测试以更新PythonOpenSSL: $sudo python-m easy_install-升级pyOpenSSL 如果不正常,请执行以下操作: $sudo pip安装-升级加密 但错误在于:$sudopip 在下列情况下也应这样做: $sudo python-m easy_install-升级pyOpenSSL 玩得开心 Johan MRe你不能将sudo与pip一起使用。将sudo与pip一起使用是自找麻烦。当你这么做的时候,你就让pip和你的操作系统的包管理器陷入了一场争斗。当他们战斗时,没有人获胜,尤其是你的Python安装和个人理智。我知道无数的教程告诉你sudopip的安装,但他们不是你的朋友。维护功能性Python安装的唯一安全可靠的方法是让操作系统的软件包管理器管理它想要管理的内容,如果您使用的是Python 3,则可以使用pip install-user或使用VirtualNV或可选的Python-m venv的虚拟环境
如果你坚持sudo安装东西,你会经常在Python安装中遇到一些奇怪的小问题,偶尔会遇到灾难性的问题。学会热爱虚拟环境!您甚至可以修改shell的路径,以便您在环境中安装的东西可以作为命令使用,这通常是人们认为需要sudo pip安装的原因。如何处理升级pip时由于环境错误而无法安装软件包的问题
python -m pip install --user --upgrade pip
首先在管理模式下运行命令行,包括窗口和操作系统:
其次,
对于windows:使用此命令升级pip
python -m pip install --user --upgrade pip
对于MacOS:
sudo python -m pip install --user --upgrade pip
在以python:3.8为基础构建Docker映像时,我在尝试安装软件包时遇到了这个错误。按照@Johan MRe的建议升级pyOpenSSL为我解决了这个问题
RUN python3 -m easy_install --upgrade pyOpenSSL
我只通过删除本地的pip文件夹,然后重新安装,就解决了这个问题。我知道这不是卸载pip的正确方法,但我不是通过pip卸载pip来实现的