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
但是显然我又回到了相同的环境错误。
答案 0 :(得分:2)
您不得将sudo
与pip
一起使用。将sudo
与pip
一起使用会带来麻烦。当您这样做时,您将遇到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