Python的"site.py"在优胜美地升级后消失了。可以吗?



Yosemite(OS X 10.10)升级包括Python 2.7.6,与苹果系统更新一样,这个过程似乎完全取代了中的系统包目录

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python

这一次,该过程似乎完全省略了site.py。我的理解是,这个文件对Python的功能至关重要,尤其是包搜索路径的正确构建;但是我的Python(只使用Apple系统Python和site-packages中的附加包)运行良好,并且我的路径与升级前保持不变。

Python的正常运行是否不再需要site.py?它被移到另一个地方了吗?

site.py仍在使用。你只是找不到合适的位置:

>>> import site
>>> print site.__file__
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.pyc

/Extras结构似乎完全由非标准库包组成,例如,苹果为自己使用而安装的包,这些包不包含在标准Python中。

如果在以前的OS X版本中是site.py文件,则很可能是setuptools安装的文件;10.10附带了setuptools 1.1.6,它早就摆脱了该文件中包含的黑客攻击。

如果python的行为没有改变,并且sys.path包含指向site-packages文件夹的路径,那么应该没问题。如果你使用解释器-S选项,site-packages文件夹的路径不会显示在sys.path中,所以你可以测试它。我建议你在系统中搜索该文件。如果它没有显示,请确保您可以看到隐藏的文件,以防由于某种原因被隐藏。

site.py文档

编辑:已在评论中解决,但希望提供官方答案。

最新更新