FileNotFoundError: [Errno 2] No such file or directory: 'D:\\monodepth2-master\\kitti_data\\2011_10_03/2011_10_03_drive_0034_sync\\image_02/data\\0000001441.jpg'
본 문제는 아마 파일의 경로가 리눅스에서 윈도우로 바뀌면서 생기는 문제점이라고 파악됨.
보면 경로상에 슬래쉬가 반대로 되어있는 부분이 있어서, 이 부분을 통일해주어야 한다고 생각했다.
해결을 위한 시도
해당 코드를 이런식으로 처리해주었다.
/ ☞ \\
아까의 슬래쉬 반대로 된 것 중에 한 군데는 고쳐졌지만, 다른 한쪽은 고쳐지지 않았다는 것을 파악하였다.
이 부분은 os.path.join함수로 인해서 변경되지 않는 부분이라고 생각되어, replace문을 통해 문자열 중 /를 \\로 치환하도록 하였다.
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\monodepth2-master\\kitti_data\\2011_09_30\\2011_09_30_drive_0034_sync\\image_02\\data\\0000000552.jpg'
그걸 무시하고 업데이트하고, 관리자 설정 몇 개를 건드리다보니 아예 홈페이지가 죽어버렸다.
홈페이지에 유달리 스팸 댓글이 많길래 확인해보니, 130000개나 스팸 댓글이 달려있었다. 그래서 그 댓글들을 일괄적으로 지우는 방법은 모르겠어서 일단 60000개의 댓글이 달려있던 공지 게시글을 지우고, 댓글을 관리자만 달 수 있게 하고, 스팸으로 의심되는 이메일 연동하지 않은 계정의 권한을 박탈했다.
그뒤로 설정 페이지가 버벅인걸 보면, 이거 때문인것같기도 하다.
심지어 admin을 건드려도 뭐가 되지 않고 있는 상황.
이걸 수정하기 위해서 어떤 조치를 취해야 하는지 확인해보았다.
Fatal error: Call to a member function getAction() on a non-object in C:\APM_Setup\htdocs\classes\db\DB.class.php on line 629
닷홈 호스팅(이것도 4년 전..)이 아닌 APMsetup을 이용한 웹은 안다뤄본지 5년정도 되었기 때문에, 진짜 기억이 전혀 나지 않았다.
최근에 한 코딩도 모두 C++ 아니면 자바 아니면 파이썬이었는데
진짜 미치겠다
내가 만든 게 아닌데 고장냈다는 사실이 나를 더 힘들게했다.
하지만 힘들어 할 시간에 복구를 해야한다는 생각이 더 많이 들었기 때문에 이렇게 해결과 함께 정리중이다.
해결을 위한 시도
1. 웹 url상으로 admin이 접근되는지부터 확인하였다.
홈피url/admin
음 그래도 똑같이 문제가 발생했다.
심지어 같은 getAction()함수에서 발생한 문제였다.
2. 해당 웹 페이지를 구동할 수 있게 하는 서버에 접속해야한다고 해서, 서버를 구동하고 있는 컴퓨터를 확인하였다.
3. 서버 컴퓨터에서 캐시파일 재생성이 필요하다는 의견이 있어서 캐시 파일 재생성을 시도하였다. (대부분의 문제는 이거로 해결하시면 될듯)
서버를 구동하고 있는 컴퓨터의 cache에 들어가보니, 오늘 업데이트한 내용들에 대해서 캐시가 저장되어 있는 것을 확인할 수 있었다.
저기서 queries 폴더를 날리면 거의 대부분의 문제는 해결되는데, 나의 경우는 저 cache안에 있는 폴더들을 모두 날린뒤에 다시 queries 폴더를 날려주니까 구동이 된 케이스다.
그래서 해당 내용들을 일단 지워주었다.
캐시기 때문에, 기존에 저장되어 있던 데이터들에는 크게 영향이 없을거라고 생각하고 지워주었다.
그래도 구동이 되지 않았다.
그래서 일단 서버 컴퓨터의 상황을 파악해보았다.
디스크 상황이 굉장히 살벌한 상황이었다.
이거 때문이었나보다.
일단 디스크 관리를 해주어야 할 것같아서, 기존 휴지통에 있던 애들을 모두 지워주기로 했다.
지웠는데도 용량이 3.5기가 정도밖에 남지 않았고, 여전히 상황은 개선되지 않았다.
4. apmsetup 의 서버를 껐다가 켜보기로 했다.
그래도 달라지는 부분이 없었다.
5. php 문제는 아닌 것 같은게 아까까지만 해도 잘 되던것이 안되는 문제였기 때문에, 디스크 또는 캐시 문제라고 판단해서 다시 기존 방법들을 되짚어보면서 재실행해보기로했다.
qt.qpa.plugin: Could not load the Qt platform plugin "windows" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: direct2d, minimal, offscreen, webgl, windows.
에러 발생하게 된 상황
- 가상환경을 통해 파이썬 코드를 돌리던 중, 3차원 시각화하는 툴을 로딩하다가 본 에러가 났다.
- 해결 시도는 두 가지였고, 해결이 된 방법은 두 번째이니, 결론을 보고 싶은 사람은 아래부터 읽기를 바란다.
해결을 위한 시도 1번
에러를 구글링해보니, 환경변수로 QT 플러그인 경로를 넣어주어야 하는 듯하다.
python
import sys
print(sys.path)
위 코드와 같이 입력을 해주면 파이썬이 설치된 경로를 확인할 수 있다.
나의 경우에는 가상환경으로 설치했기때문에 conda안에 있는 가상환경 폴더에 파이썬이 설치되어있었다.
이런식으로 path가 주르륵 뜨는데, 나의 경우 처음에 나와있는 경로가 실제 파이썬이 설치되어 있는 경로에 해당하였다.
제어판에 있는 고급 시스템 설정에서 환경 변수를 찾아준다.
시스템 변수의 새로만들기를 눌러준다.
그리고 새 시스템 변수의 이름은
QT_QPA_PLATFORM_PLUGIN_PATH
으로 설정해준다.
변수 값의 경우, 기존 python이 설치된 경로에 이어서
\Lib\site-packages\PyQt5\Qt\plugins\platforms
를 붙여준다.
그래도 에러가 해결되지 않았다.
변수를 바꿔줬는데도 해결되지 않아서, 경로를 자세히 살펴봤는데, 해당하는 경로가 애초에 폴더상에 존재하지 않는것을 발견하였다.