【发布时间】:2013-12-24 17:10:11
【问题描述】:
我发现有些用python开发的应用会把文件放在这个路径下,这个路径有什么用,应该放什么文件?
【问题讨论】:
我发现有些用python开发的应用会把文件放在这个路径下,这个路径有什么用,应该放什么文件?
【问题讨论】:
该目录包含可以由多个 python 版本共享的独立于体系结构的 python 模块。不要操纵那个目录。
【讨论】:
1.5 模块路径
默认情况下,在列出的目录中搜索 Python 模块 PYTHONPATH 环境变量和 sys.path Python 多变的。从python2.4版本2.4.5-3,python2.5版本2.5.2-7开始, python2.6 版本 2.6.2-1,在所有 python2.7 版本中,sys.path 不再包含 /usr/lib/pythonXY.zip 条目。目录 sys.path 中必须不包含私有 Python 模块。民众 未由 python-central 或 python-support 处理的 Python 模块必须是 安装在系统 Python 模块目录中, /usr/lib/pythonX.Y/dist-packages 用于 python2.6 及更高版本,以及 /usr/lib/pythonX.Y/site-packages 用于 python2.5 和更早版本。民众 Python 3 模块必须安装在 /usr/lib/python3/dist-packages 中。 由 python-support 管理的模块安装在另一个目录中 使用 .pth 机制将其添加到 sys.path 中。 .pth 机制记录在该站点的 Python 文档中 模块。一个特殊的目录专用于公共 Python 模块 由本地管理员安装,/usr/lib/python3/dist-packages 对于所有 python3 版本,/usr/local/lib/python2.Y/dist-packages python2.6 及更高版本,以及 /usr/local/lib/python2.Y/site-packages 用于 python2.5及更早版本。由管理员进行本地安装 python2.6及更高版本,为Python保留了一个特殊目录 应该只对这个 Python 可用的模块, /usr/local/lib/python2.Y/site-packages(和 /usr/local/lib/python3/site-packages 适用于所有 python3 版本)。 不幸的是,对于 python2.5 及更早版本,这个目录也是 对系统 Python 可见。附加信息 模块搜索路径的站点特定路径可在 站点模块的官方文档。
当二进制包为多个 Python 提供相同的源代码时 版本,例如 /usr/lib/python2.6/dist-packages/foo.py 和 /usr/lib/python2.5/site-packages/foo.py,这些应该指向一个 通用文件。相同源代码的版本特定目录 python3 不需要,也不能用于此。普通的 跨 Python 版本共享独立于架构的文件的位置 否则会转到系统公共模块的目录是 /usr/share/pyshared.对于python3,不需要特殊的位置, 使用 /usr/lib/python3/dist-packages
1.6 用于更新已安装运行时的挂钩
python 二进制包有特殊的钩子允许其他包 根据已安装运行时的更新采取行动。这个机制是必需的 处理某些包中默认 Python 运行时的更改,以及 启用 Python 打包助手。支持三个挂钩 以脚本形式出现的类型,从 特定时 Python 运行时包的维护者脚本 发生安装、删除或升级。
/usr/share/python/runtime.d/*.rtinstall:当一个 运行时已安装或受支持。第一个论点是 “rtinstall”,第二个参数是受影响的运行时(例如 pythonX.Y) 和第三个和第四个参数是旧的和新的 此打包运行时的版本(如果已安装此运行时) 但不受支持。
/usr/share/python/runtime.d/*.rtremove:当一个 运行时被删除或停止支持。第一个论点是 “rtremove”,第二个参数是受影响的运行时(对于 例如pythonX.Y)。
/usr/share/python/runtime.d/*.rtupdate:当 默认运行时更改。第一个参数是“pre-rtupdate”, 在更改默认运行时或“rtupdate”之前调用,何时调用 更改默认运行时或“post-rtupdate”,立即调用 然后。第二个参数是旧的默认运行时(对于 例如 pythonX.Y),第三个参数是新的默认运行时 (例如 pythonX.Z)。
【讨论】: