• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
CL.TANG
非官方言论,知识谨慎吸收
博客园    首页    新随笔    联系   管理    订阅  订阅

CentOS下openstack源码安装(Nova)

1. 安装git工具

 

yum install git

2. 下载nova源码

git clone https://github.com/openstack/nova.git

3. python工具安装

yum install python-setuptools

4. 安装nova

  进入nova源码根目录.

python setup.py install

  这里马上会有很多错误提示。

     a. lxml错误

    

Traceback (most recent call last):
  File "setup.py", line 21, in <module>
    d2to1=True)
  File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
    cmd_obj.run()
  File "build/bdist.linux-x86_64/egg/pbr/packaging.py", line 310, in run
  File "build/bdist.linux-x86_64/egg/pbr/packaging.py", line 95, in _pip_install
  File "build/bdist.linux-x86_64/egg/pbr/packaging.py", line 83, in _missing_requires
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 483, in find
    set's ``.entries`` (if it wasn't already present).
pkg_resources.VersionConflict: (lxml 2.2.3 (/usr/lib64/python2.6/site-packages/lxml-2.2.3-py2.6-linux-x86_64.egg), Requirement.parse('lxml>=2.3'))

 原因,CentOS自带的python环境中有lxml,已安装,但是不符合openstack的要求,版本太低,至少的要求要>=2.3,这里我们使用python自带的安装命令:

先找到安装在python的site-package下的lxml文件和文件夹.

easy_install lxml  

 执行完后,但是还是会出错误,提示可能是没有Python.h文件等错误.

使用命令:

yum install python-dev

如果还有其他和lxml安装错误的参考:http://blog.csdn.net/azhao_dn/article/details/7501432

  b. sqlalchemy安装版本错误

   错误类型同lxml提示的错误,但这里告诉我们的是版本太高,sqlalchemy是我之前采用easy_install安装的,肯定是最新版本,这里我们使用sqlalchemy源码下载安装。

wget http://ncu.dl.sourceforge.net/project/sqlalchemy/sqlalchemy/0.7.8/SQLAlchemy-0.7.8.tar.gz
tar -zxvf SQLAlchemy-0.7.8.tar.gz
cd SQLAlchemy-0.7.8
python setup.py install

 插曲:

 将/usr/bin/下的easy_install执行脚本删除,不能在命令行使用easy_install了,在使用yum install python-setuptools将提示已经安装了。

  解决办法:

 源码安装setuptools

浏览器下载:

https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz

这里不支持wget,pypi.python.org进行了限制.

 c. netaddr安装版本错误.同上面的错误一样.

  

pkg_resources.VersionConflict: (netaddr 0.7.5 (/usr/lib/python2.6/site-packages), Requirement.parse('netaddr>=0.7.6'))

  至少需要0.7.6版本.

wget http://cloud.github.com/downloads/drkjam/netaddr/netaddr-0.7.10.tar.gz
tar -zxvf netaddr-0.7.10.tar.gz
cd setuptools-0.7.2
python setup.py install

  这里就成功安装了netaddr

Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import netaddr
>>> netaddr.VERSION
(0, 7, 10)
>>> 

  d. pip错误

  错误提示:

/usr/bin/python: No module named pip

  安装pip

源码下载url:https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz

安装方法同上面的python包安装,不在累述。

 

安装好pip后,重新执行nova的安装,提示错误:

/usr/bin/python: pip is a package and cannot be directly executed

  怎么回事,没安装让我安装,安装了后告诉我他是一个包,不能直接执行?

 

 

 

 

posted @ 2016-10-18 14:14  CL.TANG  阅读(3738)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3