使用以下命令使用本地iso来创建VM
# virt-install --name test --ram 8192 --vcpus 4 \
-f /root/test.qcow2 --os-type linux \
--os-variant rhel7 --network bridge=virbr0 \
--cdrom CentOS-7-x86_64-DVD-1810.iso \
--graphics vnc,listen=0.0.0.0,port=5920
输出信息
Traceback (most recent call last):
File "/usr/share/virt-manager/virt-install", line 29, in <module>
import virtinst
File "/usr/share/virt-manager/virtinst/__init__.py", line 90, in <module>
from virtinst.distroinstaller import DistroInstaller
File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 23, in <module>
from . import urlfetcher
File "/usr/share/virt-manager/virtinst/urlfetcher.py", line 33, in <module>
import requests
File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module>
from . import utils
File "/usr/lib/python2.7/site-packages/requests/utils.py", line 32, in <module>
from .exceptions import InvalidURL
File "/usr/lib/python2.7/site-packages/requests/exceptions.py", line 10, in <module>
from urllib3.exceptions import HTTPError as BaseHTTPError
File "/usr/lib/python2.7/site-packages/urllib3/__init__.py", line 10, in <module>
from .connectionpool import (
File "/usr/lib/python2.7/site-packages/urllib3/connectionpool.py", line 31, in <module>
from .connection import (
File "/usr/lib/python2.7/site-packages/urllib3/connection.py", line 45, in <module>
from .util.ssl_ import (
File "/usr/lib/python2.7/site-packages/urllib3/util/__init__.py", line 4, in <module>
from .request import make_headers
File "/usr/lib/python2.7/site-packages/urllib3/util/request.py", line 5, in <module>
from ..exceptions import UnrewindableBodyError
ImportError: cannot import name UnrewindableBodyError
只需要看最后一行ImportError: cannot import name UnrewindableBodyError
,整个的输出报错多为.py结尾的,说明与python有关,python中需要import的只有python库,这是python的库出现了小问题,具体问题不详,解决方法如下:
使用pip和yum将python相关的库删除
# pip uninstall requests
# pip uninstall urllib3
# yum remove python-urllib3
# yum remove python-requests
确认删除成功:执行之后没有输出即可
# rpm -qa | grep requests
# pip freeze | grep requests
用yum的方式将python库安装
# yum install python-urllib3
# yum install python-requests
然后再去重新执行创建VM
个人见解
我认为是pip安装的库和yum安装的库冲突,或者virt-install必须去使用yum安装过的python库,不然会不识别pip安装的python库,所以需要以上的操作去解决