我尝试安装Twilio模块:
sudo -H pip install twilio
我得到了这个错误:
Installing collected packages: pyOpenSSL Found existing installation: pyOpenSSL 0.13.1 Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
有人知道如何卸载pyOpenSSL吗?
此错误表示此程序包的元数据不包含属于它的文件列表。 最有可能的是,您已经通过操作系统的软件包管理器安装了此软件包,因此您也需要使用该软件包,而不是对其pip进行更新或删除。
pip
请参阅例如升级到第10点:这是一个distutils安装的项目,因此我们无法准确确定属于该文件的文件,这只会导致部分卸载。·问题#5247·pypa / pip就是其中一个与软件包一起安装的示例apt。
apt
或者,根据您的需求,不使用系统Python和/或其全局环境,而是创建私有Python安装和/或环境,可能会更有效率。这里有很多选项,包括virtualenv,,venv和pyenv,pipenv以及从源代码将Python安装到 /usr/local或$HOME/ $HOME/.local(或/opt/<whatever>)。
virtualenv
venv
pyenv
pipenv
/usr/local
$HOME
$HOME/.local
/opt/<whatever>
最后,我必须对经常建议的开关(例如在第10点和apt:如何避免distutils软件包出现“无法卸载X”错误)进行评论--ignore-installed pip。
--ignore-installed
它 可能会 工作(可能 会 满足您的业务需求足够长的时间),但也可能以不可预测的方式破坏系统上的内容。可以确定的一件事是:它使系统的配置不受支持,因此无法维护- 因为您实质上已经用其他一些任意东西覆盖了发行版中的文件。例如: