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

时间:2019-02-23 17:13:35

标签: python python-2.7 pip cryptography

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'

然后我将其装入站点软件包,文件夹为空。确实,我已经以打包形式安装了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.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

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

4 个答案:

答案 0 :(得分:2)

您不得将sudopip一起使用。将sudopip一起使用会带来麻烦。当您这样做时,您将遇到pip,并且操作系统的程序包管理器将陷入困境。当他们打架时,没有人获胜,至少您的所有Python安装和个人理智都没有。我知道有无数的教程告诉您sudo pip install,但它们不是您的朋友。维护功能正常的Python安装的唯一安全可靠的方法是,让操作系统的程序包管理器管理其要管理的内容,并使用pip install --user或虚拟环境(使用virtualenv或可选地使用{{1} }(如果您使用的是Python 3)。

我真的无法承受如此之大的压力,如果您不断地对安装进行sudo操作,您将不断地不断在您的Python安装中遇到一些奇怪的问题(以及偶发的灾难性问题)。学会热爱虚拟环境!您甚至可以修改外壳程序的python -m venv,以便将在环境中安装的内容作为命令使用(这通常就是人们认为他们需要PATH的原因)。

答案 1 :(得分:0)

您可以测试更新PythonOpenSSL:

$ sudo python -m easy_install --upgrade pyOpenSSL

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

$ sudo pip install-升级密码

但是出现错误:$ sudo pip

之后:

$ sudo python -m easy_install --upgrade pyOpenSSL

玩得开心,

Johan MRe

答案 2 :(得分:0)

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

在“管理”模式下的窗口和操作系统中的第一个运行命令行:

下一步

对于Windows:使用此命令升级点子

+ *python -m pip install --user --upgrade pip*

对于MacOS:

+  $ *sudo python -m pip install --user --upgrade pip*

答案 3 :(得分:0)

我在构建Docker映像时尝试安装软件包时遇到此错误(以python:3.8为基础)。将pyOpenSSL升级为@Johan MRe建议可以为我解决。

RUN python3 -m easy_install --upgrade pyOpenSSL
相关问题