不要使用 apt 安装 Python 包

作者: , 共 940 字 , 共阅读 0

正常而言,大家都是用 pip 来安装 python 的包。但有时候无意中(通常是为安装某个特定的软件,根据软件的安装提示),会使用 apt 安装 python 包。而且其实很多包都可以通过 apt 来安装的,名字就是包名再加python3-的前缀。安装后的库以及依赖项位于/usr/lib/python3/dist-packages目录下。比如 apt 安装 requests 包:

sudo apt install python3-requests

但其实这样安装的库有很大的问题。apt的库升级很慢,相对而言 python 库更新很快。在大部分情况下这不会有问题。但如果用 pip 更新一个依赖更新版本的 requests 的 python 库时,便会试图更新 requests 库,这时候会提示:

ERROR: Cannot uninstall 'requests'. 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.

这个错误和字面意思不一样。实际情况是,因为 requests 不是通过 pip 安装的,所以 pip 无法去更新(因为更新需要先卸载)。必须先通过 apt 去卸载:

sudo apt remove python3-requests

对于一个稳定的平台和系统,如果 apt 安装的 python 包够用,那么 apt 安装是可以的。如果是为了开发,想利用最新的包,那就推荐所有的包都用 pip 来安装和管理:

sudo pip install requests

正常 pip 安装的包位于/usr/local/lib/python3.8/dist-packages目录,所以它很容易就可以与 apt 安装的包区别开来。在 Python 查找时,/usr/local/lib/python3.8/dist-packages的优先级比/usr/lib/python3/dist-packages靠前。

Q. E. D.

类似文章:
IT » Python, Ubuntu
主要是update-alternatives命令的使用。
相似度: 0.170
IT » talib, 技术分析
下面的安装地址可在https://github.com/mrjbq7/ta-lib#troubleshooting上找最新的:
编程 » django, requests, python
这里的 requests 是指 Python 的 requests 包。
IT » ubuntu, 网络代理
下面命令设置环境变量http_proxyhttps_proxyhttp://127.0.0.1:7890,分别用于访问非加密和加密网址。目前大部分网址都是加密网址。
相似度: 0.123
IT » ubuntu
需修改/etc/apt/sources.list
IT » Linux, cheatsheets
cheat 提供命令行的速记记录,在命令行下,随时增加笔记随时查看,用的时间越长越强大!
编程 » Python
类型系统可以提前检查代码准确性,为中大型项目提供保障。所以现在大型编程语言都争先恐后地为程序添加类型系统。
相似度: 0.090
boost是除std外最常用的 C++库,覆盖很多常用操作。目前最新的版本是1.85.0http://boost.org/上可以查看最新版本号,将下面的 59 换成最新的即可)。
IT » nodejs, linux, npm, WSL, cnpm
Ubuntu 的 apt 源没有自带 nodejs ,需要手工添加 nodejs 的源,然后通过 apt 安装。
经济金融 » 理财
一般现金理财都是指可以随时申购赎回的理财方式,活期存款是其中之一,但收益过低(基本只有 0.25%左右)。货币基金是更合适的一种方式,投资收益率目前大约在 1.5%到 2%,前几年曾经有 3%到 4%。
后一篇:
数学 » 数学游戏
问题: