python dist-packages 和 site-packages

在Ubuntu 12上,dist-packages和site-packages位于同一目录下,导致导入模块时出现困扰。pip安装的Django在dist-packages但不在sys.path中,而site-packages在sys.path中。解决方案包括创建软链接或修改sys.path。dist-packages是Debian系统中包管理器安装Python模块的默认位置,而pip和easy_install则安装在dist-packages。手动安装的模块通常在site-packages中,以区分系统和用户安装的模块。
摘要由CSDN通过智能技术生成

dist-packages 和site-packages在我的ubuntu12上都在/usr/local/lib/python2.7目录下

今天安装django时发现一个奇怪的现象:

我使用 pip install Django==1.8.4安装的django,安装成功,直接在终端使用django-admin也成功,但是进入python:import dnango,却提示no module named django,真的百思不得其解。

查了一番资料后得知原因:

当python import模块的时候,就通过sys.path里面的目录列表下面去查找


我的django安装在dist-packages下面的,但是sys.path里面没有这个目录,当我使用os.sys.path.append将这个目录加入时,能够import了,但是这个随着python的重启就会消失。

然后我发现之前安装的pymysql没啥问题(忘了怎么装的了),然后我发现这个paramiko是安装在site-packages下面的,而sys.path列表里是有site-packages这个目录的

我的解决办法是将site-packages里建一个dist-packages/django的软连接,ok。当然更好的办法应该是将dist-packages加入sys.path


但是问题是这个dist-packages 和site-packages之间有啥不可见人的故事呢?搞得如此麻烦


dist-packages是debian系统及其衍生系统的默认python的模块默认安装目录,如果使用包管理器(如apt-get)安装py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值