python setup.py build_打包Python项目为rpm时遇到python setup.py build报错的问题
问题描述
使用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报错的问题相关推荐
- vue打包npm run build报错
vue打包npm run build报错: 近期领导要求用vue做一个项目,最近在研究和学习vue,在项目打包时一直报错,这个问题困扰了好久,尝试了很多网上办法,但都没有用 电脑每次开机首次执行npm ...
- 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)...
为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键"高级设置"-->"进程模型"--& ...
- 最近项目开发再一次遇到了启动idea报错:Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was
最近项目开发再一次遇到了启动idea报错:Plugin Error Problems found loading plugins: Plugin "GlassFish Integration ...
- Python安装时import matplotlib.pyplot as plt报错
安装matplotlib的时候可能会出现输入import matplotlib.pyplot as plt出现报错的现象,如下图所示: >>> import matplotlib & ...
- 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)...
以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理.也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了.今天偶然看到一篇文章,是用python调用win ...
- Hbuilder打包web项目为app时,下载文件失效,下载出现问题解决
问题描述:我是将我的web项目使用hbuilder打包成apk安装在手机上,然后使用下载功能的时候,跳转到报错页面,但是在pc端浏览器和手机浏览器上没有问题,报错页面如下: 其实这是因为使用a链接发送 ...
- python docx设置标题中文字体rPr.rFonts.set(qn(‘w:eastAsia‘),u‘黑体‘),报错‘NoneType‘ object has no attribute ‘set‘
一.我的代码: 因为要编一个报告自动化生成的代码,所以用了python docx,在设置标题自己写了一段代码,要求将标题设置成:一级标题 黑体 小四 from docx import Document ...
- 解决python导入当前文件夹下的包时可以运行,但编辑器报错
比如导入当前文件夹下的config.py文件,使用: form ..config import xxx 其中..表示当前文件夹,在写代码时直接:from config import xx是不会报错的, ...
- Android项目Build报错Unable to execute dx(65535问题解决方案)
2019独角兽企业重金招聘Python工程师标准>>> 问题描述:Android项目引入过多的第三方包时,在编译成dex文件的时候,单个dex文件中的方法总数超过了65535个,此时 ...
最新文章
- Mila唐建专访:Bengio领路,缘起生物梦,AI如何变革生物制药?
- asp.net模糊查询存储过程
- Java旅游项目线路收藏_基于JavaWeb的旅游项目--详情功能
- Python入门100题 | 第039题
- 零基础带你快速入门Ribbon技术(浅显易懂、小白都能看懂)
- 真恶心,用安卓模拟器开微信不能找附近的人
- Spark MLlib实现的广告点击预测–Gradient-Boosted Trees
- [蓝桥杯][2017年第八届真题]k倍区间(数学+思维)
- AspnetCore 2.0 自动API文档生成组件,支持protobuffer
- linux添加svn副本目录,关于linux svn添加忽略目录的梗
- 萌龙大乱斗 合成表 持续更新
- pyqt5实现按钮添加背景图片以及背景图片的切换
- 深度学习前人精度很高了怎么创新?
- Apache服务器+tomcat配置
- 插件开发之360 DroidPlugin源码分析(四)Activity预注册占坑
- 计算机启动后出现黑屏鼠标,计算机启动后,黑屏只有鼠标解决方案
- Adreno Profiler分析任意安卓游戏特效+抓取资源
- 计算机硬件选购与市场调查实验报告,计算机组装与维护实训报告范例-20210527010902.docx-原创力文档...
- linux基本命令学习
- thrift安装天坑
热门文章
- 同等学力计算机综合难吗,计算机在职研究生考试难度大吗?这种方式通过率高...
- mysql按首数字分表_MySql基础-数据分表
- 《Web前端开发最佳实践》学习笔记
- Linux内核深入理解系统调用(1):初始化-入口-处理-退出
- int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void));
- DPDK单生产者入队单消费者出队
- Linux驱动开发流程四步走
- oracle数据库中分区表的效果是,分区表实际测试中发现并没有什么效果,帮忙看看问题出在哪里了???...
- c语言提高,C语言提高-day2
- ubuntu下django的项目相关软件安装测试