我们使用 RHEL5 集群,并为应用程序制作自定义 RPM,以便我们可以在现场部署它们。
我遇到了一个不寻常的问题,即 virtualenv 中的特定目录导致 RPM 冲突,但我无法弄清楚原因。
我们有一个包 (python26-2.6.5-6.el5.x86_64),它提供了我们的主要 Python 可执行文件。它是为其他服务安装的,但我们的项目不使用。我们的项目使用 virtualenv。
由于某种原因,virtualenv 的“encodings”目录导致了冲突。
这里是python26包提供的文件:https://gist.github.com/reidja/5749089#file-python26-file-list
这是我们的规范文件:https://gist.github.com/reidja/5749089/raw/8c91a238e488b93d3ca9c4ce07c8eada360095dd/Our+Spec+File
这是 yum 的输出: https://gist.github.com/reidja/5749089/raw/5a543765bfadfb384b6136420527ce941df55bb6/yum+localinstall
如果有人能指出我正确的方向,我将不胜感激。
最佳答案
我们的自定义构建环境将符号链接(symbolic link)作为文件拉入(如 cp -H)。这导致 virtualenv 中的编码目录作为真实文件出现,而不是针对/usr/lib64 进行符号链接(symbolic link)
关于python - RPM 与 Python Virtualenv 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17026379/