File "/home/user/.local/lib/python3.10/site-packages/waitress/init.py", line 13, in serve
server = _server(app, **kw)
File "/home/user/.local/lib/python3.10/site-packages/waitress/server.py", line 78, in create_server
last_serv = TcpWSGIServer(
File "/home/user/.local/lib/python3.10/site-packages/waitress/server.py", line 244, in init
self.bind_server_socket()
File "/home/user/.local/lib/python3.10/site-packages/waitress/server.py", line 361, in bind_server_socket
self.bind(sockaddr)
File "/home/user/.local/lib/python3.10/site-packages/waitress/wasyncore.py", line 396, in bind
return self.socket.bind(addr)
PermissionError: [Errno 13] Permission denied
Traceback (most recent call last):
File "/home/2du/.local/lib/python3.10/site-packages/flask/app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
File "/home/2du/.local/lib/python3.10/site-packages/flask/app.py", line 872, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/2du/.local/lib/python3.10/site-packages/flask/app.py", line 870, in full_dispatch_request
rv = self.dispatch_request()
File "/home/2du/.local/lib/python3.10/site-packages/flask/app.py", line 855, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
File "/home/2du/openNAMU/route/go_api_recent_change.py", line 14, in api_recent_change
data = subprocess.Popen([os.path.join(".", "route_go", "bin", "main.amd64.bin"), sys._getframe().f_code.co_name, db_set, other_set], stdout = subprocess.PIPE).communicate()[0]
File "/usr/local/lib/python3.10/subprocess.py", line 969, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/local/lib/python3.10/subprocess.py", line 1845, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: './route_go/bin/main.amd64.bin'
예시
이러한 버그가 나는 경우 route_go 안에 bin 폴더에 들어가서 chmod +x main.amd64.bin(10)(11)으로 실행 권한을 부여해주면 됩니다
(1) 최신 버전이 아닐 경우에 대비해 pip를 업그레이드하는 과정이다. pip 스스로는 pip를 업그레이드할 수 없으므로 Python을 불러서 하는 것이다.(2) git 홈페이지에서 받아서 깔아도 되고, 관리자 권한 powershell에서 winget install git.git 쳐도 된다. 아마 이게 더 편할 거다.(3) 특히 Ubuntu(4) 최신 버전이 아닐 경우에 대비해 pip를 업그레이드하는 과정이다. pip 스스로는 pip를 업그레이드할 수 없으므로 python을 호출하여 업데이트하는 것이다.(5) 대소문자를 구분하지 않는다(6) 처음 설치와 업데이트 이후 2번째 실행부터는 root가 아니어도 큰 문제는 없을 것이다(7) 혹시 모르니 apt update와 apt upgrade -y를 실행하고 입력하면 오류를 방지할 수 있다.(기본적으로) 파이썬이 설치 되있다(9) 예를 들면 termux(10) 다른 OS나 아키텍쳐의 경우 버그가 난 파일 이름(11) 리눅스의 경우 chmod 권한이 부족할 수도 있으니 앞에 sudo 붙여야할 수도 있습니다