问题描述

使用rpmbuild打包python项目,执行报错

rpmbuild -bb autoinstall.spec

hrwxr-xr-x XXX/XXX     0 2018-12-19 13:38 autoinstall-1.0/autoinstall/.gitignore link to autoinstall-1.0/autoinstall/.gitignore

+ STATUS=0

+ [ 0 -ne 0 ]

+ cd autoinstall-1.0

+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .

+ exit 0

Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.witEBA

+ umask 022

+ cd /home/XXX/rpmbuild/BUILD

+ cd autoinstall-1.0

+ python setup.py build

ERROR:root:Error parsing

Traceback (most recent call last):

File "/home/XXX/.local/lib/python2.7/site-packages/pbr/core.py", line 96, in pbr

attrs = util.cfg_to_args(path, dist.script_args)

File "/home/XXX/.local/lib/python2.7/site-packages/pbr/util.py", line 256, in cfg_to_args

pbr.hooks.setup_hook(config)

File "/home/XXX/.local/lib/python2.7/site-packages/pbr/hooks/__init__.py", line 25, in setup_hook

metadata_config.run()

File "/home/XXX/.local/lib/python2.7/site-packages/pbr/hooks/base.py", line 27, in run

self.hook()

File "/home/XXX/.local/lib/python2.7/site-packages/pbr/hooks/metadata.py", line 26, in hook

self.config['name'], self.config.get('version', None))

KeyError: 'name'

error in setup command: Error parsing /home/XXX/rpmbuild/BUILD/autoinstall-1.0/setup.cfg: KeyError: 'name'

error: Bad exit status from /var/tmp/rpm-tmp.witEBA (%build)

问题出现的环境背景及自己尝试过哪些方法

Python版本 2.7.0

pbr版本5.1.1

setuptools版本 40.6.3

1.直接使用

python setup.py build

正常

2.直接使用

python setup.py bdist_rpm

也可以正常打包.但在centos下执行该命令也报错.

相关代码

setup.py

# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT

import setuptools

# In python < 2.7.4, a lazy loading of package `pbr` will break

# setuptools if some other modules registered functions in `atexit`.

# solution from: http://bugs.python.org/issue15881#msg170215

try:

import multiprocessing  # noqa

except ImportError:

pass

setuptools.setup(

setup_requires=['pbr'],

pbr=True)

setup.cfg

[metadata]

name = autoinstall

version = 1.0

summary = autoinstall

author = Yannis

author-email = openstack-dev@lists.openstack.org

home-page = http://www.openstack.org/

classifier =

Environment :: TusCloud

Intended Audience :: Information Technology

Intended Audience :: System Administrators

License :: OSI Approved :: Apache Software License

Operating System :: POSIX :: Linux

Programming Language :: Python

Programming Language :: Python :: 2

Programming Language :: Python :: 2.7

[files]

packages =

autoinstall

[pbr]

autodoc_index_modules = True

[build_sphinx]

all_files = 1

build-dir = doc/build

source-dir = doc/source

[egg_info]

tag_build =

tag_date = 0

tag_svn_revision = 0

[wheel]

universal = 1

autoinstall.spec

%if 0%{?rhel} && 0%{?rhel} <= 6

%{!?__python2: %global __python2 /usr/bin/python2}

%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}

%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}

%else

%global __python2 /usr/bin/python

%endif

%define name autoinstall

%define version 1.0

%define unmangled_version 1.0

%define unmangled_version 1.0

%define release 1

Summary: auto install scripts for tusCloud

Name: %{name}

Version: %{version}

Release: %{release}

Source0: %{name}-%{unmangled_version}.tar.gz

License: UNKNOWN

Group: Development/Libraries

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot

Prefix: %{_prefix}

BuildArch: noarch

Vendor: UNKNOWN <UNKNOWN>

Provides: provide-files

%description

UNKNOWN

%prep

%setup -n %{name}-%{unmangled_version} -n %{name}-%{unmangled_version}

%build

python setup.py build

%install

python setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT

mkdir -p %{buildroot}%{_sysconfdir}/%{name}/

mkdir -p %{buildroot}%{_bindir}/

mkdir -p %{buildroot}/var/lib/autoinstall

mkdir -p %{buildroot}/var/log/autoinstall

touch -c %{buildroot}/var/log/autoinstall/auto_install.log

install -p -D -m 755 %{_builddir}/%{name}-%{version}/bin/* %{buildroot}/%{_bindir}/

%clean

rm -rf $RPM_BUILD_ROOT

%files

%{python_sitelib}/autoinstall*

%defattr(-,root,root)

%config(noreplace) %attr(-,root,root) %{_sysconfdir}/%{name}/

%{_bindir}/*

#{_sysconfdir}/logrotate.d/autoinstall

/var/log/autoinstall

/var/lib/autoinstall

python setup.py build_打包Python项目为rpm时遇到python setup.py build报错的问题相关推荐

  1. vue打包npm run build报错

    vue打包npm run build报错: 近期领导要求用vue做一个项目,最近在研究和学习vue,在项目打包时一直报错,这个问题困扰了好久,尝试了很多网上办法,但都没有用 电脑每次开机首次执行npm ...

  2. 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)...

    为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键"高级设置"-->"进程模型"--& ...

  3. 最近项目开发再一次遇到了启动idea报错:Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was

    最近项目开发再一次遇到了启动idea报错:Plugin Error Problems found loading plugins: Plugin "GlassFish Integration ...

  4. Python安装时import matplotlib.pyplot as plt报错

    安装matplotlib的时候可能会出现输入import matplotlib.pyplot as plt出现报错的现象,如下图所示: >>> import matplotlib & ...

  5. 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)...

    以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理.也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了.今天偶然看到一篇文章,是用python调用win ...

  6. Hbuilder打包web项目为app时,下载文件失效,下载出现问题解决

    问题描述:我是将我的web项目使用hbuilder打包成apk安装在手机上,然后使用下载功能的时候,跳转到报错页面,但是在pc端浏览器和手机浏览器上没有问题,报错页面如下: 其实这是因为使用a链接发送 ...

  7. python docx设置标题中文字体rPr.rFonts.set(qn(‘w:eastAsia‘),u‘黑体‘),报错‘NoneType‘ object has no attribute ‘set‘

    一.我的代码: 因为要编一个报告自动化生成的代码,所以用了python docx,在设置标题自己写了一段代码,要求将标题设置成:一级标题 黑体 小四 from docx import Document ...

  8. 解决python导入当前文件夹下的包时可以运行,但编辑器报错

    比如导入当前文件夹下的config.py文件,使用: form ..config import xxx 其中..表示当前文件夹,在写代码时直接:from config import xx是不会报错的, ...

  9. Android项目Build报错Unable to execute dx(65535问题解决方案)

    2019独角兽企业重金招聘Python工程师标准>>> 问题描述:Android项目引入过多的第三方包时,在编译成dex文件的时候,单个dex文件中的方法总数超过了65535个,此时 ...

最新文章

  1. Mila唐建专访:Bengio领路,缘起生物梦,AI如何变革生物制药?
  2. asp.net模糊查询存储过程
  3. Java旅游项目线路收藏_基于JavaWeb的旅游项目--详情功能
  4. Python入门100题 | 第039题
  5. 零基础带你快速入门Ribbon技术(浅显易懂、小白都能看懂)
  6. 真恶心,用安卓模拟器开微信不能找附近的人
  7. Spark MLlib实现的广告点击预测–Gradient-Boosted Trees
  8. [蓝桥杯][2017年第八届真题]k倍区间(数学+思维)
  9. AspnetCore 2.0 自动API文档生成组件,支持protobuffer
  10. linux添加svn副本目录,关于linux svn添加忽略目录的梗
  11. 萌龙大乱斗 合成表 持续更新
  12. pyqt5实现按钮添加背景图片以及背景图片的切换
  13. 深度学习前人精度很高了怎么创新?
  14. Apache服务器+tomcat配置
  15. 插件开发之360 DroidPlugin源码分析(四)Activity预注册占坑
  16. 计算机启动后出现黑屏鼠标,计算机启动后,黑屏只有鼠标解决方案
  17. Adreno Profiler分析任意安卓游戏特效+抓取资源
  18. 计算机硬件选购与市场调查实验报告,计算机组装与维护实训报告范例-20210527010902.docx-原创力文档...
  19. linux基本命令学习
  20. thrift安装天坑

热门文章

  1. 同等学力计算机综合难吗,计算机在职研究生考试难度大吗?这种方式通过率高...
  2. mysql按首数字分表_MySql基础-数据分表
  3. 《Web前端开发最佳实践》学习笔记
  4. Linux内核深入理解系统调用(1):初始化-入口-处理-退出
  5. int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void));
  6. DPDK单生产者入队单消费者出队
  7. Linux驱动开发流程四步走
  8. oracle数据库中分区表的效果是,分区表实际测试中发现并没有什么效果,帮忙看看问题出在哪里了???...
  9. c语言提高,C语言提高-day2
  10. ubuntu下django的项目相关软件安装测试