match command.split():
case ["quit"]:
print("Goodbye!")
quit_game()
case ["look"]:
current_room.describe()
case ["get", obj]:
character.get(obj, current_room)
case ["go", direction]:
current_room = current_room.neighbor(direction)
# The rest of your commands go here
case _:
# default --> 의식적으로 넣어주는 것이 정신건강에 이롭다.
pass
#yum There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or verify that the module is installed correctly.
It's possible that the above module doesn't match the current version of Python, which is: 2.7.14 (default, Mar 31 2020, 02:52:27) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
If you cannot solve this problem yourself, please go to the yum faq at:
yum.baseurl.org/wiki/Faq
----
위링크도 연결 되지 않는다.
여러 구글링하며 찾은 글을 봤더니 2.7 버전차이라고 생각하며 복구하는 여러 방법들이
돌아 다닌다.
1. 2.4 버전 변경 --> 이는 6.0 인듯합니다. 패스
2. /usr/bin/yum --> 파일열어 경로 첫줄에 경로 변경. 하지만 이미 버전이 업된 상태에서 처리가 쉽지 않고 기존
상태를 원상복구 하기가 어려워 졌다. rpm 으로 재설치도 해봤다.
해보는것도 괜찮음
하지만,
기본 상태로 원복은 한번 꼬이기 시작해서 인지 잘 되지 않음...
찾다가 다른 싸이트에 발견한 방법이 있음
# python Python 2.7.14 (default, Mar 31 2020, 02:52:27) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
>>> import sys >>> sys.path ....경로 A
이 경로와
# env -u LD_LIBRARY_PATH python
Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import paramiko import os, sys from configparser import ConfigParser
# ssh 명령을 수행한다. # exit status를 리턴한다. def ssh_execute(ssh, command, is_print=True): # ssh 명령의 결과로 exit status를 구하는게 쉽지 않다. # 따라서, 명령의 끝에 "mark=$?"를 출력하여, # 최종 exit statud를 구할 수 있도록 한다. exit_status=0 mark="ssh_helper_result_mark!!@@=" command=command+";echo " + mark + "$?" try: stdin, stdout, stderr = ssh.exec_command(command, get_pty=True) except Exception as e: print(e) raise e
for line in stdout: msg=line.strip('\n') if (msg.startswith(mark)): exit_status=msg[len(mark):] else: if (True == is_print): print(line.strip('\n'))
return int(exit_status)
# sftp 상에 경로를 생성한다. # remote 경로가 directory이면, is_dir에 True를 전달한다. def mkdir_p(sftp, remote, is_dir=False): dirs_ = [] if is_dir: dir_ = remote else: dir_, basename = os.path.split(remote) while len(dir_) > 1: dirs_.append(dir_) dir_, _ = os.path.split(dir_)
if len(dir_) == 1 and not dir_.startswith("/"): dirs_.append(dir_) # For a remote path like y/x.txt while len(dirs_): dir_ = dirs_.pop() try: sftp.stat(dir_) except: print("making ... dir", dir_) sftp.mkdir(dir_)
#https://greenfishblog.tistory.com/258 # sftp 상에 파일을 업로드한다. # src_path에 dest_path로 업로드한다. 두개 모두 file full path여야 한다. def file_upload(sftp, src_path, dest_path): #mkdir_p(sftp, dest_path) try: sftp.put(src_path, dest_path) except Exception as e: print("fail to upload " + src_path + " ==> " + dest_path) raise e print("success to upload " + src_path + " ==> " + dest_path) return "0" def get_sftp(ssh): try: sftp = paramiko.SFTPClient.from_transport(ssh.get_transport()) except Exception as e: print(e) raise e return sftp
# ssh 정책 설정 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# connect ssh.connect(hostname=host_ip, port=port, username=id, password=pw) except Exception as e: print(e) raise e
return ssh
# 프로세스 시작 ################################## if __name__ == '__main__': ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
parser = ConfigParser() parser.read('config.ini')
print(parser.sections())
ip = parser.get('ssh', 'host') port = parser.get('ssh', 'port') id = parser.get('ssh', 'id') pwd = parser.get('ssh', 'pw')
print(os.path.exists(upfile)) if os.path.exists(upfile): print(str(os.path.getsize(upfile)/1024/1024) + " MB") else: print("파일이 " + upfile + "존재 하지 않습니다.") sys.exit()
# #https://greenfishblog.tistory.com/258 # 정지 a = ssh_execute(ssh, stop) while True: if a == 0: print("정지 : %d" % a) break #파일 업로드 sftp = get_sftp(ssh) res = file_upload(sftp, upfile, dwfile) while True: if res == "0": print("파일업로드 : %s" % res) break #반영 a = ssh_execute(ssh, rebilud) while True: if a == 0: print("반영 : %d" % a) break #재시작 a = ssh_execute(ssh, go) while True: if a == 0: print("재시작 : %d" % a) break #로그확인 a = ssh_execute(ssh, waslog) while True: if a == 0: print("result : %d" % a) break ssh.close() sftp.close()
lab 기준으로 [ ] 모양과 코드의 형태가 모두 흰색으로 실행하면 output 보이지 않는 경우가 발생... (노트사진임) 아래와 같이..
무언가 문제가 있다.
파이썬 코드를 실행을 웹에서 실행 못 시키고 있는거 같은데...
구동 로그를 보니...
RuntimeWarning: coroutine 'WebSocketHandler.get' was never awaited
super(AuthenticatedZMQStreamHandler, self).get(*args, **kwargs)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback