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