Dist-packages和site-packages的区别

Linux下Python的包安装路径分两个,Dist-packages和site-packages. 对于刚入坑的小伙伴来说,比较头大。Dist-packages是系统自带的包。site-packages则是用户自己安装的。两个不同的路径,一旦出现版本冲突,就特别头大。

我这里以pip,Ubuntu环境为例,备注说明一下,如何控制。

如果是以 $ sudo pip install 则是安装到dist-packages下面。

如果直接执行pip install 则是直接安装到用户的 ~/local/lib/python3/site-packages下面。

在安装新的packages时,一定要统一,不能两种方式随意搞,否则容易把自己给弄糊涂了。

正是因为包放在不同的地方,就会出现程序运行时,明明已经安装了,出现module找不到的问题。那么如何解决呢?

1、如果定位某个package的位置:

pip show

2、查看这个包的路径是否包括在sys.path中。

>>>import sys

>>>sys.path

3、如果没有,建议有两种方式:

(1)在可以可以搜索到的sys.path某个路径下,增加 packages_path.pth[文件名随意]文件。里面把新增加的路径加入即可。

(2)在.bashrc中增加

export PYTHONPATH=/usr/local/lib/python3.10/dist-packages:/usr/lib/python3/dist-packages

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章