pip 抛出“TypeError: deprecated()”错误

问题描述 投票:0回答:5

我试图安装几个包并开始出现错误。然后在 ubuntu 中使用多个命令来更新一些东西但是错误是相似的

pip install -U pip setuptools
or
python3 -m pip install --upgrade pip
or
sudo -H pip3 install --upgrade pip

以下是错误样本

user@machine:~$ pip install cryptography

Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    load_entry_point('pip==20.0.2', 'console_scripts', 'pip')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2854, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2445, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2451, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
    from pip._internal.exceptions import CommandError
  File "/usr/lib/python3/dist-packages/pip/_internal/exceptions.py", line 10, in <module>
    from pip._vendor.six import iteritems
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 65, in <module>
    vendored("cachecontrol")
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
    __import__(modulename, globals(), locals(), level=0)
.
.
.
.
  File "<frozen zipimport>", line 259, in load_module
  File "/usr/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 46, in <module>
  File "/home/dhome/.local/lib/python3.8/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/dhome/.local/lib/python3.8/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/dhome/.local/lib/python3.8/site-packages/OpenSSL/crypto.py", line 3224, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'

我已经用

apt-get install libffi-dev python-dev python3-dev
apt-get install build-essential libssl-dev 
已经按照here

中的建议
python-3.x ubuntu pip pyopenssl
5个回答
12
投票

OpenSSL 中出现问题,之后没有命令与

pip
一起工作。我什至无法卸载
pip
.

我手动删除了安装文件(很可能不是推荐的方法)

sudo rm -rf /usr/local/lib/python3.8/dist-packages/OpenSSL
sudo rm -rf /usr/local/lib/python3.8/dist-packages/pyOpenSSL-22.1.0.dist-info/

并使用

pip3 install pyOpenSSL==22.0.0
重新安装。另一个版本有一些问题,如 所述。


0
投票

对我来说,即使卸载 pyOpenSSL 也遇到同样的错误

TypeError: deprecated() got an unexpected keyword argument 'name'

所以首先我将 pip 升级到 23.0,卸载 PyOpenSSL,从

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
手动删除 openSSL 文件夹然后安装
PyOpenSSL 20.0.0
,最后问题解决了。


0
投票

升级

pyOpenSSL
对我有用!

pip install pyOpenSSL --upgrade

0
投票

接受的答案对我不起作用(Python 3.8.10)。

我通过创建一个新的虚拟环境并升级 pip(从 20.x 到现在的最新版本 23.1)解决了这个问题:

pip install --upgrade pip

在那之后我安装了其他依赖项。


-1
投票

我知道这不是一个好的解决方法,但您可以在命令的其余部分之前添加 sudo。它绕过了错误。

without sudo

with sudo

© www.soinside.com 2019 - 2024. All rights reserved.