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

  怎么回事,沒安裝讓我安裝,安裝了后告訴我他是一個包,不能直接執行?

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM