我对 Python 在 OS X 上使用“Extras”和“site-packages”中的包的方式感到困惑。特别是,我对我在这些目录中看到的内容、目录中的重复包如何相互影响以及我应该将安装的包放在哪里感到困惑。
我曾假设 'Extras' 1是不属于核心 Python 的包的位置,但这些包仍然随给定平台分发。例如,OS X 与PyObjC
、twisted
和numpy
等一起分发;这些都可以在“附加”中找到。我还假设 'site-packages' 2是我随后安装的软件包所在的位置,并且该目录在“新”机器上为空或不存在。此外,我假设安装新软件包会将版本单独保留在“Extras”中,并将我所做的任何更新放在“site-packages”中,在那里它们会“掩盖”“Extras”中的那些。(例如,可以通过删除“站点包”来简单地恢复默认安装。)
让我感到困惑的是,我的“Extras”目录的内容正在减少。与全新 OS X (10.8.2) 安装的内容相比,我当前配置的“附加”缺失
altgraph
altgraph-0.9-py2.7.egg-info
dateutil
macholib
macholib-1.4.2-py2.7.egg-info
modulegraph
modulegraph-0.9.1-py2.7.egg-info
numpy #though numpy-1.6.1-py2.7.egg-info is there
pkg_resources.py # though .pyc is there
py2app
py2app-0.6.3-py2.7.egg-info
setuptools # though setuptools-0.6c12dev_r88846-py2.7.egg-info is there
site.py # though .pyc and .pyo are there
xattr
xattr-0.6.2-py2.7.egg-info
zope
zope.interface-3.5.1-py2.7.egg-info
并且在全新安装中找不到两个附加文件
pkg_resources.py.OLD.1356069438.31
setuptools-0.6c12dev_r88846-py2.7.egg-info.OLD.1356069438.31
setuptools.OLD.1356069438.31
据我所知,这些都是我自己更新的包,所有版本都存在于“站点包”中。
'Extras' 目录的内容是否应该以这种方式“缩小”?更新 'Extras' 中的软件包是否会将其“移动”到“site-packages”,或者是否应该将“Extras”版本单独保留并简单地被“site-packages”中的那些“屏蔽”?
1:/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
2:/Library/Python/2.7/site-packages/