当我输入以下代码时:
>>> import site
>>> site.getsitepackages()
出现以下结果 -
['/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
这两条不同的路径表示什么?在Windows上,只有一个用于站点包的文件夹。为什么它们在linux中不同?
答案 0 :(得分:2)
站点包目录是Python安装第三方扩展的目录,并且在您导入内容时它会查找包和模块。
在Linux上,/usr
目录包含系统分发附带的文件,/usr/local
目录包含系统管理员安装的文件。因此,如果您安装了第三方扩展程序的分发版本,那么您将在/usr
sites-packages目录中找到它:
$ sudo apt-get install python-twisted
...
$ find /usr -name twisted
/usr/lib/python2.7/dist-packages/twisted
如果您自己安装第三方扩展程序,则可以在/usr/local
site-packages目录中找到它:
$ sudo pip install twisted
...
$ find /usr -name twisted
/usr/local/lib/python2.7/dist-packages/twisted
Windows没有区别,因此它只有一个站点包目录。