我们的所有系统都有一个通用的 python 安装,以确保每个系统都有相同的 python 安装并缓解配置问题。此安装位于共享驱动器上。我们还有多个共享此安装的平台。我们通过在编译 python 时设置 --exec-prefix 配置选项来解决冲突的特定于平台的文件。
我的问题是我现在想使用与平台相关的easy_install(或其他方式)安装一个鸡蛋。easy_install 将 egg 放在安装的平台无关部分的 site-packages 目录中。鸡蛋的名字里面有平台,所以应该没有冲突。但是 python 只会加载它找到的第一个。(因此,在 Solaris 上,它可能会尝试加载 Linux egg)。修改 easy-install.pth 文件可以改变它找到的那个,但这没什么用。
我可以将 .egg 文件移动到依赖于平台的包目录中,然后使用 pkg_resources.require() 加载它们(或手动调整路径)。但似乎我不应该这样做,因为平台是以鸡蛋的名义。
有没有更通用的方法可以确保 python 为正确的平台加载鸡蛋?