升级到Yosemite后Python的'site.py'不见了,可以吗?

1 投票
2 回答
1005 浏览
提问于 2025-04-28 09:45

在升级到 Yosemite(OS X 10.10)时,系统里会包含 Python 2.7.6。像往常一样,苹果的系统更新似乎会完全替换掉系统包的目录,具体位置在

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

这次更新过程中,似乎完全省略了 site.py 这个文件。我原本以为 这个文件对 Python 的正常运行是非常重要的,特别是在正确设置包搜索路径方面;但是我的 Python(只使用苹果自带的系统 Python 和在 site-packages 里的额外包)运行得很好,而且 我的路径 在升级前后保持不变。

那么,site.py 现在还需要吗?它是不是被移动到其他地方了?

暂无标签

2 个回答

1

如果Python的行为没有变化,并且sys.path里包含了你site-packages文件夹的路径,那你就没问题。如果你使用解释器的-S选项,site-packages文件夹的路径就不会出现在sys.path里,所以你可以用这个来测试一下。我建议你在系统上搜索一下这个文件。如果找不到,确保你能看到隐藏文件,因为它可能因为某种原因被隐藏了。

site.py 文档

补充:在评论中解决了这个问题,但我想提供一个官方的回答。

2

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,这个版本早就把那个文件里的小把戏给去掉了。

撰写回答