【问题标题】:Python's 'site.py' gone after Yosemite upgrade. Is that okay?优胜美地升级后 Python 的“site.py”消失了。这样可以吗?
【发布时间】:2014-12-14 14:50:24
【问题描述】:

Yosemite (OS X 10.10) 升级包括 Python 2.7.6,并且与 Apple 系统更新一样,该过程似乎完全替换了系统包目录,在

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

这一次,该过程似乎完全省略了site.py。我的理解是this file was essential to the functioning of Python,尤其是包搜索路径的正确构建;但我的 Python(它只使用 Apple 系统 Python 和 site-packages 中的其他软件包)运行良好,my paths 保持升级前的状态。

Python 的正常运行是否不再需要 site.py?是否已移至其他位置?

【问题讨论】:

  • 你有 site-packages 和 site-python 文件夹吗?我假设您也搜索了该文件?
  • @DuckPuncher:我有一个 site-packages 文件夹(我安装所有的包):那里没有 site.py。我在哪里可以找到“site-python”?
  • 我正在阅读来自here。看起来当python初始化时,site.py将这些文件夹与其他文件夹一起附加到sys.path?除非我读错了,听起来如果sys.path 包含这些文件夹的路径,这意味着site.py 在程序初始化时正在运行。
  • @DuckPuncher:但这似乎仍然需要site.py(某处),我再也找不到了。 (使用 -S option 会省略我的主目录和 site-packages,因此“自动导入”会有所不同;这意味着正在导入 something。)
  • 不要使用-S 选项。如果导入sys 并运行sys.path,会出现site-packages 文件夹的路径吗?

标签: python import pythonpath osx-yosemite


【解决方案1】:

site.py仍在使用。您只是没有找到正确的位置:

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

/Extras 结构似乎完全由非标准库包组成,例如Apple 为自己的用途安装的不包含在标准 Python 中的软件包。

如果在以前的 OS X 版本中一个site.py 文件,那很可能是one installed by setuptools; 10.10 附带 setuptools 1.1.6,它早已摆脱了该文件中包含的 hack。

【讨论】:

  • 太棒了!而且(我认为)我永远不应该碰!
  • 并且:我认为 '../Extras/lib/python' 中的 site.py 是旧的和/或未使用的(或至少没有必要,因为 Apple 将其删除为优胜美地更新的一部分)。对吗?
  • @raxacoricofallapatorius:旧版本的 setuptools 包含一个 very hacky site.py file,在当前的 setuptools 版本中不再需要并且不再存在。由于 Apple 现在发布了 setuptools 版本 1.1.6,我强烈怀疑您在这里看到了 setuptools site.py 文件。所以不,如果你在那儿看到 site.py 文件,它就不再需要了。
【解决方案2】:

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

site.py docs

edit:已在 cmets 中解决,但想提供官方答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    相关资源
    最近更新 更多