Programing Language/Python

Selenium과 Pyinstaller를 이용하여 만든 실행파일 뒤에 검은창이 나올 경우 해결 방법

JHeaon 2023. 7. 6. 09:15

 

이번에는 selenium과 pyinstaller을 가지고 나온 exe 파일을 실행시켰을 때, cmd창을 끄는 옵션을 추가했음에도 불구하고 cmd창이 뜨는 오류를 해결하는 방법에 대해 알아보고자 합니다. 

 

오류

selenium을 실행하는 파이썬 코드를 pyinstaller을 통해 exe 파일을 만들어 배포하였습니다. 하지만 exe 파일을 실행할 떄 pyinstaller에서 콘솔이 뜨지 않도록 하는 -w 옵션을 넣어 줬음에도 불구하고 뒤에 cmd(흔히 검은창)이 뜨는 현상이 일어났습니다. 

 

혹시 해당 오류에 대해 다루기전에 pyinstaller 실행 방법이나 옵션에 대해 모르신다면 아래 게시글을 참고 하시면 좋을 듯 합니다. 

 

참고 : https://jheaon.tistory.com/131

 

파이썬 라이브러리 Pyinstaller을 통해 py 파일을 exe 파일로 바꿔보기

일반적으로 py 파일은 python 프로그램 위에서 동작하는 파일이다. 우리가 만든 기능을 py코드 그 자체로 일반사람들에게 주게 된다면 사람들은 해당 기능을 위해서 python을 설치 한 다음 그 기능을

jheaon.tistory.com

pyinstaller로 만든 exe 파일 실행시 콘솔창이 보임

 

 

 

해결 방법

일단 현재 자기가 사용하고 있는 파이썬 환경에 따라 다르게 접근하여야 합니다. 

 

1) 현재 자기가 글로벌 환경을 쓰고 있는 경우

아래의 경로에 들어갑니다. 

C:\Users\[사용자]\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\common\service.py

 

그다음 creationflags의 값을 0x08000000으로 넣어준 다음, 다시 pyinstaller을 통해 exe 파일을 만들어 실행한 후 확인해보시면 뒤에cmd창이 뜨지 않는 것을 확인 할 수 있습니다. 

self.process = subprocess.Popen(cmd, env=self.env,
  close_fds=platform.system() != 'Windows',
  stdout=self.log_file,
  stderr=self.log_file,
  stdin=PIPE,
  creationflags=0x08000000
)

 

2) 가상 환경으로 쓰고 있는 경우

가상환경 같은 경우 자신이 만들어둔 가상 환경의 경로에 맞춰 들어갑니다. 저 같은 경우에는 venv을 가상환경으로 만들어 관리했기에 가상환경에서의 경로는 다음과 같이 접근해 주시면 됩니다. 

venv\Lib\site-packages\selenium\webdriver\common\service.py

 

그 다음 위와 똑같이 creationflags의 값을 0x08000000 설정 한 뒤 pyinstaller을 통해 exe파일을 만들어 실행 하시면 뒤에 cmd창이 뜨지 않는 것을 확인 하실 수 있습니다. 

 

 

'Programing Language/Python'의 다른글

  • 현재글 Selenium과 Pyinstaller를 이용하여 만든 실행파일 뒤에 검은창이 나올 경우 해결 방법

관련글