본문 바로가기

it 관련

개인용 서버 삽질기 #2

막상 서버 세팅을 하고 나니 뭘 해야될지 모르겠더라...

그래서 일단 gui 프로그래밍을 한번 해보자는 생각을 했다.

 

인터넷을 찾아보니 pyqt5를 이용한 파이썬 gui 프로그래밍이 자주 노출되어 대학생때 잠깐 배우고 말았던 파이썬을 이참에 다시 사용해보고자 했다.

막상 하려고 보니 서버에는 모니터가 없어 gui가 있는 프로그램을 만들어도 그걸 확인할 수 없었다.

그렇다고 원격 화면 접속을 하기엔 맘에 들지 않고, 따라서 '실행 파일을 만들고 그걸 윈도우에서 실행해서 보면 되는게 아닐까?' 라는 결론을 내렸다.

 

이를 위해 찾아보니 pyinstaller로 파이썬 스크립트를 exe 파일로 만들 수 있다고 한다. 하지만 해당 패키지는 OS Dependency가 있어 리눅스에서 빌드하면 리눅스용, 윈도우에서 하면 윈도우용으로 나온다고 한다.

여기서 멈출 수 없었다.

더 찾아보니 나와 같은 생각을 한 사람들이 리눅스 wine에서 파이썬을 설치하고 파이썬 스크립트를 exe로 만들면 가능하다는 것을 알려줬다.

 

그런데 어차피 그 용도로만 사용할텐데 서버에 wine을 설치하고 싶지 않았고 이참에 Docker를 사용해보기로 했다.

처음에는 Docker가 뭔지 컨테이너가 뭔지 잘 모르겠는 상황에서 잠깐의 학습을 거친 뒤, 대강 이해하고 사용해보기로 했다.

 

Docker 이미지는 결국 가상화된 사용 환경을 만들어 주는 것이기 때문에 해당 이미지에 wine을 깔고 그 안에 윈도우용 python을 설치해서 사용할 수 있으면 된다는 생각을 하게 되었다.

 

그런데 그런 이미지를 어떻게 만드는지 몰라서 찾다보니 깃허브에 누가 해당 도커파일을 올려둔 것을 확인했다.

https://github.com/cdrx/docker-pyinstaller

 

GitHub - cdrx/docker-pyinstaller: PyInstaller for Linux and Windows inside Docker

PyInstaller for Linux and Windows inside Docker. Contribute to cdrx/docker-pyinstaller development by creating an account on GitHub.

github.com

참 고맙다고 생각하며 해당 이미지를 받아서 requirements에 pyqt5 최신버전을 넣고 테스트 코드를 빌드했는데, 아뿔싸...

error: Microsoft Visual C++ 14.0 or greater is required.

라는 에러와 함께 docker가 끝나버렸다.

이를 해결하기 위해 구글링을 계속했지만 해당 오류를 본 사람이 질문한 글은 있어도 답변은 없었다.

 

결국, 답은 스스로 도커 이미지를 만드는 방법뿐이라고 생각하여 git을 clone받아서 Dockerfile을 받았고 무슨 소리인지 이해를 못하겠어서 도커 파일에 대해서 공부를 했다.

 

원본 소스는 우분투 버전도 16.04였고 pyinstaller나 python 버전도 낮아 그냥 우분투 22.04에 최신 python을 넣는 이미지로 수정하고자 했다.

몇번의 시행착오 끝에 도커파일이 이미지로 만들어졌고 이를 통해서 테스트 코드를 빌드할 수 있었다.

'it 관련' 카테고리의 다른 글

개인용 서버 삽질기 #3  (0) 2022.11.07
개인용 서버 삽질기 #1  (0) 2022.11.07
ubuntu 16.04에 eclipse-neon 설치하기  (0) 2017.04.01
우분투 까는 것 정말 어렵네요  (0) 2017.03.31