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
怎么回事,沒安裝讓我安裝,安裝了后告訴我他是一個包,不能直接執行?