升级到Yosemite后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(只使用苹果自带的系统 Python 和在 site-packages
里的额外包)运行得很好,而且 我的路径 在升级前后保持不变。
那么,site.py
现在还需要吗?它是不是被移动到其他地方了?
2 个回答
1
如果Python的行为没有变化,并且sys.path
里包含了你site-packages
文件夹的路径,那你就没问题。如果你使用解释器的-S
选项,site-packages
文件夹的路径就不会出现在sys.path
里,所以你可以用这个来测试一下。我建议你在系统上搜索一下这个文件。如果找不到,确保你能看到隐藏文件,因为它可能因为某种原因被隐藏了。
补充:在评论中解决了这个问题,但我想提供一个官方的回答。
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,这个版本早就把那个文件里的小把戏给去掉了。