0
새 클라우드 서버 (Ubuntu 16.04)에 기본 3.5 릴리스 대신 Python 3.6이 설치되었습니다. 서버를 다시 시작한 후 시작시 cloud-init
을 실행하지 못했고 syslog
에 다음 오류가 있음을 발견했습니다. Python 3.6으로 업그레이드 한 후 시작시 cloud-init을 시작하지 못했습니다.
Sep 20 16:16:14 cloud-init[1310]: Traceback (most recent call last):
Sep 20 16:16:14 cloud-init[1310]: File "/usr/bin/cloud-init", line 9, in <module>
Sep 20 16:16:14 cloud-init[1310]: load_entry_point('cloud-init==0.7.9', 'console_scripts', 'cloud-init')()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 570, in load_entry_point
Sep 20 16:16:14 cloud-init[1310]: return get_distribution(dist).load_entry_point(group, name)
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2751, in load_entry_point
Sep 20 16:16:14 cloud-init[1310]: return ep.load()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2405, in load
Sep 20 16:16:14 cloud-init[1310]: return self.resolve()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2411, in resolve
Sep 20 16:16:14 cloud-init[1310]: module = __import__(self.module_name, fromlist=['__name__'], level=0)
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 27, in <module>
Sep 20 16:16:14 cloud-init[1310]: from cloudinit import stages
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 21, in <module>
Sep 20 16:16:14 cloud-init[1310]: from cloudinit.handlers import cloud_config as cc_part
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/cloudinit/handlers/cloud_config.py", line 11, in <module>
Sep 20 16:16:14 cloud-init[1310]: import jsonpatch
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/jsonpatch.py", line 114, in <module>
Sep 20 16:16:14 cloud-init[1310]: json.load = get_loadjson()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/jsonpatch.py", line 108, in get_loadjson
Sep 20 16:16:14 cloud-init[1310]: argspec = inspect.getargspec(json.load)
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3.6/inspect.py", line 1072, in getargspec
Sep 20 16:16:14 cloud-init[1310]: raise ValueError("Function has keyword-only parameters or annotations"
Sep 20 16:16:14 cloud-init[1310]: ValueError: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Sep 20 16:16:14 cloud-init[1310]: Error in sys.excepthook:
Sep 20 16:16:14 cloud-init[1310]: Traceback (most recent call last):
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
Sep 20 16:16:14 cloud-init[1310]: from apport.fileutils import likely_packaged, get_recent_crashes
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
Sep 20 16:16:14 cloud-init[1310]: from apport.report import Report
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
Sep 20 16:16:14 cloud-init[1310]: import apport.fileutils
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
Sep 20 16:16:14 cloud-init[1310]: from apport.packaging_impl import impl as packaging
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
Sep 20 16:16:14 cloud-init[1310]: import apt
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
Sep 20 16:16:14 cloud-init[1310]: import apt_pkg
Sep 20 16:16:14 cloud-init[1310]: ModuleNotFoundError: No module named 'apt_pkg'
Sep 20 16:16:14 cloud-init[1310]: Original exception was:
Sep 20 16:16:14 cloud-init[1310]: Traceback (most recent call last):
Sep 20 16:16:14 cloud-init[1310]: File "/usr/bin/cloud-init", line 9, in <module>
Sep 20 16:16:14 cloud-init[1310]: load_entry_point('cloud-init==0.7.9', 'console_scripts', 'cloud-init')()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 570, in load_entry_point
Sep 20 16:16:14 cloud-init[1310]: return get_distribution(dist).load_entry_point(group, name)
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2751, in load_entry_point
Sep 20 16:16:14 cloud-init[1310]: return ep.load()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2405, in load
Sep 20 16:16:14 cloud-init[1310]: return self.resolve()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py", line 2411, in resolve
Sep 20 16:16:14 cloud-init[1310]: module = __import__(self.module_name, fromlist=['__name__'], level=0)
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 27, in <module>
Sep 20 16:16:14 cloud-init[1310]: from cloudinit import stages
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 21, in <module>
Sep 20 16:16:14 cloud-init[1310]: from cloudinit.handlers import cloud_config as cc_part
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/cloudinit/handlers/cloud_config.py", line 11, in <module>
Sep 20 16:16:14 cloud-init[1310]: import jsonpatch
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/jsonpatch.py", line 114, in <module>
Sep 20 16:16:14 cloud-init[1310]: json.load = get_loadjson()
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3/dist-packages/jsonpatch.py", line 108, in get_loadjson
Sep 20 16:16:14 cloud-init[1310]: argspec = inspect.getargspec(json.load)
Sep 20 16:16:14 cloud-init[1310]: File "/usr/lib/python3.6/inspect.py", line 1072, in getargspec
Sep 20 16:16:14 cloud-init[1310]: raise ValueError("Function has keyword-only parameters or annotations"
Sep 20 16:16:14 cloud-init[1310]: ValueError: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Sep 20 16:16:14 systemd[1]: Started MySQL Community Server.
Sep 20 16:16:14 systemd[1]: cloud-config.service: Main process exited, code=exited, status=1/FAILURE
Sep 20 16:16:14 systemd[1]: Failed to start Apply the settings specified in cloud-config.
Sep 20 16:16:14 systemd[1]: cloud-config.service: Unit entered failed state.
Sep 20 16:16:14 systemd[1]: cloud-config.service: Failed with result 'exit-code'.
이 분명히 두 가지 문제가 있었다 :
ModuleNotFoundError: No module named 'apt_pkg'
ValueError: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
그래서 내가
apt-get install python3-apt
를 실행하지만, 패키지가 이미 설치되었습니다. 그런 다음
apt-get install python3-jsonpatch
을 실행했으며 성공적으로 완료되었습니다. 불행히도이 문제는 해결되지 않았습니다.