openstack nova编译或打包rpm出现cannot import name integer_types报错的解决

通过rpmbuild打包nova时,出现了如下报错:

  File "/usr/lib/python2.7/site-packages/keystoneauth1/session.py", line 26, in <module>
    import requests
  File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 63, in <module>
    from . import utils
  File "/usr/lib/python2.7/site-packages/requests/utils.py", line 26, in <module>
    from .compat import (
ImportError: cannot import name integer_types

大致看了以下报错信息,应该是python的requests模块安装有问题,查看之前的依赖安装日志,出现过如下内容:

Failed:
  python2-requests.noarch 0:2.11.1-1.el7                                      python2-urllib3.noarch 0:1.16-1.el7

这两个模块安装失败,于是单独安装这两个模块,但是均报错

Downloading packages:
(1/2): python2-urllib3-1.16-1.el7.noarch.rpm                                                                                    | 126 kB  00:00:00     
(2/2): python2-requests-2.11.1-1.el7.noarch.rpm                                                                                 | 105 kB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                  190 kB/s | 231 kB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : python2-urllib3-1.16-1.el7.noarch                                                                                                   1/2 
Error unpacking rpm package python2-urllib3-1.16-1.el7.noarch
error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/urllib3/packages/ssl_match_hostname: cpio: rename
  Installing : python2-requests-2.11.1-1.el7.noarch                                                                                                2/2 
Error unpacking rpm package python2-requests-2.11.1-1.el7.noarch
error: python2-urllib3-1.16-1.el7.noarch: install failed
error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/requests/packages/chardet: cpio: rename
  Verifying  : python2-urllib3-1.16-1.el7.noarch                                                                                                   1/2 
  Verifying  : python2-requests-2.11.1-1.el7.noarch                                                                                                2/2 

Failed:
  python2-requests.noarch 0:2.11.1-1.el7                                      python2-urllib3.noarch 0:1.16-1.el7

应该是这两个模块已存在的版本有问题,于是将site-packages中的这两个模块的内容删除

[root@localhost site-packages]# rm -rf url
urlgrabber/                     urllib3/                        urllib3-1.21.dist-info/         
urlgrabber-3.10-py2.7.egg-info  urllib3-1.16-py2.7.egg-info/
[root@localhost site-packages]# rm -rf urllib3*

[root@localhost site-packages]# rm -rf requests
requests/                                requestsexceptions/                      requests_mock/
requests-2.11.1-py2.7.egg-info/          requestsexceptions-1.1.3-py2.7.egg-info/ requests_mock-1.3.0.dist-info/
requests-2.13.0.dist-info/               requestsexceptions-1.2.0.dist-info/      
[root@localhost site-packages]# rm -rf requests
[root@localhost site-packages]# rm -rf requests-*

再安装模块即可成功

Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : python2-urllib3-1.16-1.el7.noarch                                                                                                   1/2 
  Installing : python2-requests-2.11.1-1.el7.noarch                                                                                                2/2 
  Verifying  : python2-urllib3-1.16-1.el7.noarch                                                                                                   1/2 
  Verifying  : python2-requests-2.11.1-1.el7.noarch                                                                                                2/2 

Installed:
  python2-requests.noarch 0:2.11.1-1.el7                                                                                                               

Dependency Installed:
  python2-urllib3.noarch 0:1.16-1.el7                                                                                                                  

Complete!

再通过rpmbuild打包,就没有任何问题了。

转载于:https://my.oschina.net/sannychan/blog/888021

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值