【问题标题】:Build RPM from python code which contains virtulal env从包含虚拟环境的 python 代码构建 RPM
【发布时间】:2020-06-26 06:08:54
【问题描述】:

我被要求创建包含 Python 代码的 git repo 的 RPM,并且 repo 是使用 python 的虚拟环境安装的。 virtal env 的代码在该仓库中。我的 rpm 已成功创建,但在使用 rpm -ivh 提取 RPM 时出错。虚拟环境目录中的文件与 rpm 提取冲突。我在下面发布错误和我的规范文件。任何方向的帮助将不胜感激。

提前致谢。

RPM spec file
Name: xyz
Version: 1.0
Release: 0
License: GPL
Source: %{name}-%{version}.tar.gz
Prefix: %{_prefix}
Packager: abc
BuildRoot: %{_tmppath}/%{name}-root
%description
rpm
%prep
rm -rf %{_topdir}/BUILD/*
%setup -n xyz

%build

%install
cp -rfa * %{buildroot}

%clean
#rm -rf %{buildroot}
rm -rf $RPM_BUILD_ROOT

%files
/*

%changelog
* Tue Oct 24 2017 abc 1.0.0

在这个文件的 % prep 部分下,您可能会注意到宏“%setup -q -n %{name}-%{version}”。该宏在后台执行以下命令。

错误:

file /lib/python2.7/site-packages/setuptools/site-patch.pyc from install of abc conflicts with file from package python-setuptools-0.9.8-7.el7.noarch

file /lib/python2.7/site-packages/setuptools/site-patch.pyo from install of abc conflicts with file from package python-setuptools-0.9.8-7.el7.noarch

file /lib/python2.7/site-packages/setuptools/ssl\_support.py from install of abc conflicts with file from package python-setuptools-0.9.8-7.el7.noarch

file /lib/python2.7/site-packages/setuptools/ssl\_support.pyc from install of abc conflicts with file from package python-setuptools-0.9.8-7.el7.noarch

file /lib/python2.7/site-packages/setuptools/ssl\_support.pyo from install of abc con

【问题讨论】:

  • 您应该将 virtualenv 安装在像 /opt/<app name> 这样的目录中。您的 %files 部分应与此相对应。目前它是给你错误的那个,因为你正在打包整个构建根!必须具体说明打包的文件。
  • 感谢您的建议。在文件部分添加文件后,我能够提取 RPM。

标签: python virtualenv rpm rpm-spec


【解决方案1】:

最后的错误说明了问题 - 您的 RPM 正试图覆盖系统的 setuptools 文件,例如 /lib/python2.7/site-packages/setuptools/site-patch.pyc。这可能是因为您的“安装”只是将所有文件转储到机器的顶层。

【讨论】:

    猜你喜欢
    • 2015-02-11
    • 2021-12-18
    • 1970-01-01
    • 2018-07-04
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多