繁体   English   中英

安装 pip 包或升级 pip 时出现环境错误 [Errno 2]

[英]Environment Error [Errno 2] while installing pip packages or upgrading pip

pip 过去一直工作正常,直到最近。 首先,我试图安装一个 pip 包

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-packages 中安装了 pip,它的版本是 18.1,而不是 19.0!

我试图通过更新 pip

pip install -U pip

但我得到了同样的错误。

打字

pip --version

我得到

/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/ INIT的.py:83:RequestsDependencyWarning:老版本密码学([1,2,3])可能会导致减速。 warnings.warn(警告,RequestsDependencyWarning)

来自 /usr/local/lib/python2.7/dist-packages/pip (python 2.7) 的 pip 18.1

所以似乎安装了pip 18.1。 确实,如果我尝试

sudo apt-get install python-pip

我得到

python-pip 已经是最新版本 (8.1.1-2ubuntu0.4)。

0 升级,0 新安装,0 删除,62 未升级。

我想知道所有这些问题是否都来自密码学的警告,所以我尝试做

sudo pip install --upgrade cryptography

但显然我又回到了同样的环境错误。

您不得将sudopip一起使用。 sudopip一起使用是自找麻烦。 当你这样做时,你就会有pip和你操作系统的包管理器发生冲突。 当他们打架没有人赢时,至少你的 Python 安装和个人理智。 我知道无数教程告诉您sudo pip install ,但它们不是您的朋友。 维护功能性 Python 安装的唯一安全可靠的方法是让您的操作系统的包管理器管理它想要管理的内容,并使用pip install --user或虚拟环境(使用virtualenv或可选的python -m venv如果您是在 Python 3 上)。

我真的不能强调不够,你会不断Python安装中遇到了一点奇怪的事情(和偶尔的灾难性的问题),如果你坚持须藤安装的东西。 学会热爱虚拟环境! 你甚至可以修改你的 shell 的PATH以便你在环境中安装的东西可以作为命令使用(这通常是人们认为他们需要sudo pip install )。

您可以测试更新 PythonOpenSSL :

$ sudo python -m easy_install --upgrade pyOpenSSL

如果不行,请执行以下操作:

$ sudo pip install --upgrade 加密

但是错误:$ sudo pip

之后这样做:

$ sudo python -m easy_install --upgrade pyOpenSSL

玩得开心,

约翰·雷

升级pip时如何处理“由于EnvironmentError而无法安装软件包”

首先在管理模式下运行命令行窗口和操作系统:

下一个,

对于 windows:使用此命令升级 pip

python -m pip install --user --upgrade pip

对于 MacOS:

sudo python -m pip install --user --upgrade pip

我在构建 Docker 映像(以 python:3.8 为基础)时尝试安装软件包时遇到此错误。 按照@Johan MRe 的建议升级 pyOpenSSL 为我解决了这个问题。

RUN python3 -m easy_install --upgrade pyOpenSSL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM