2013-02-14 31 views
2

我对OS X上使用'Extras'和'site-packages'中的软件包的方式感到困惑。特别是,我对我在这些目录中看到的内容感到困惑,以及目录中的重复包如何相互影响,以及我应该在哪里放置我安装的包。Python的'Extras'和'site-packages'目录有什么区别?

我假设'Extras'是不是核心Python的一部分的软件包的位置,但它仍然分布在给定的平台上。例如,OS X分配有PyObjC,twistednumpy等;这些可以在'Extras'中找到。我还假设'site-packages'是我随后安装的软件包所在的目录,并且该目录在“新”机器上为空或不存在。此外,我假设安装一个新的软件包会将该版本单独保留在'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/

+0

注:我*不*寻找涉及'virtualenv'的答案。最初我使用各种工具(二进制安装程序等)安装了一些软件包。),但现在只使用'pip'(几乎)。我没有遇到任何错误(到目前为止)。 – orome 2013-02-14 18:06:03

+0

我问的一个原因是,虽然'蛋黄'一直告诉我,我的Twisted(在'Extras'中)已过时。 Twisted项目警告说会干扰苹果电脑公司令人不安的版本。我的假设是(我)可以升级,导致在'网站包'中有一个最新的Twisted,'Extras'中有一个不受干扰的版本;但看起来这样的更新会删除'Extras'中的版本。 – orome 2013-02-14 18:09:23

回答

1

似乎OSX(和Linux)并不喜欢蟒蛇分布的默认安装目录中安装额外的Python包。

pip可以搜索已安装的模块(如python本身),如果您进行升级,将会卸载旧版本,并在要求的位置安装新版本,默认为站点包。如果仔细查看点的输出,它会告诉你它删除了什么以及它安装了什么。

所以,只有当你告诉pip安装到Extras目录,或者默认情况下会有一个pip补丁来为OSX这么做的时候,它才能工作。

旧版本被删除实际上是一件好事,因为否则您导入的模块版本将取决于您的搜索路径(sys.path),这种错误很容易发生。

是否是假设可能会有争议,但这是您用pip升级方式的正常结果。

+1

'Extras'是苹果向OS X发布的系统Pythons添加的修改。它不是OS X或其他平台上的标准Python发行版的一部分。 – 2015-03-02 21:38:30

相关问题