我试图安装几个软件包,但开始出现错误。然后在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
已经如中所建议的那样
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/
并使用CCD_ 5重新安装。另一个版本出现了一些问题,如这里所述。
升级pyOpenSSL
成功了!
pip install pyOpenSSL --upgrade
接受的答案对我不起作用(Python 3.8.10(。
我通过创建一个新的虚拟环境并升级pip(从20.x到现在23.1的最新版本(来解决这个问题:
pip install --upgrade pip
只有在那之后,我才安装了其他依赖项。
对我来说,即使卸载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
,最终问题得到解决。
添加到dhariya的解决方案中,尝试从.local以及中删除OpenSSL
sudo rm -rf $home/.local/lib/python3.8/site-packages/OpenSSL/
pip-install-pyOpenSSL==22.0.0适用于我的
尽管尝试了各种命令,我还是无法解决问题。然而,在重新启动我的设备后,pip开始正常工作。
我知道这不是一个好的修复方法,但您可以在命令的其余部分之前添加sudo。它绕过了错误。
无sudo
使用sudo