Window OS 에서 여러 버전의 Python을 설치하는 방법에 대해서 알아보자!

 

[Python 설치 주소]

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

 

Python 설치 주소로 들어가서 스크롤을 조금 내리면 다음과 같은 화면이 나온다.

 

Python의 특정 버전(Python 3.7.7) 을 설치하기 위해서 "Release version" 에서 찾아 다운로드를 눌러보자.

 

당황스럽게도 바로 설치파일이 다운로드 되는 것이 아니라 관련 설명이 나오게 된다.

 

좀 더 스크롤을 내려보면, 위에서 6번째 "Windows x86-64 executable installer" 가 있는데,

우리에게 가장 익숙한 설치 실행 파일이 되겠다. 클릭하여 설치 파일을 다운로드 한다.

 

설치파일을 실행하면, 설치 첫 화면이 나온다.

이 때, "Add Python 3.7 to PATH" 가 있는데 이것을 체크하게 되면, 

Windows 환경 변수 "PATH" 에 Python 3.7.7 버전이 등록되게 된다.

 

잘 설치가 되었다면 다음과 같은 화면이 나온다.

 

설치된 버전을 확인하기 위해, [시작] 버튼에서 "cmd"를 입력하여, 명령 프롬프트를 실행시켜준다.

명령 프롬프트 화면에  "python" 이라고 입력해보면,

Python 3.7.7 버전이 정상적으로 작동하는 것을 알 수 있다.

추가적으로 Python을 종료하는 명령어는 "exit()" 이다!

 

혹시 다른 Python 버전을 사용하고 있었던 유저라면

설치를 했음에도 불구하고, Python 실행 시, 3.7.7 버전이 아닌 기존 사용 버전이 나올 수 있는데

그것은 다음 글에서 설명해보록 하겠다~ 

 

 

최근 파이썬에 대해 공부하면서 이 파이썬을 어디에 쓸 수 있는지 고민하게 되었다.

내가 지금 사용하는 print("Hello World")는 검정화면에 흰 글자만 나오고, 아주 못생겼다.

그래서 미니 프로젝트를 시작했다!

요새 대세인 Youtube 에서 파이썬을 사용하면 동영상 파일을 받을 수 있다는 것을 알게 되었다!

 

유튜브의 동영상은 게시자에 의해 관리되고 있지만, 게시자에 의도에 따라 동영상이 사라질 수 있다.

그리고 유튜브의 서버를 신뢰하지 못한다면 소장하고 싶은 동영상을 소장해 볼 수 있다.

당연히, 재배포 또는 재업로드를 하게 되면 저작권의 문제가 발생할 수 있으니 주의하자!

 

미니 프로젝트의 결과물을 내 개인 Github에 올렸다.

https://github.com/updaun/YoutubeDownloader.git

 

updaun/YoutubeDownloader

YoutubeDownloader. Contribute to updaun/YoutubeDownloader development by creating an account on GitHub.

github.com

깃허브에 보니 다른 좋은 소스도 있는 것 같긴 했다.. 하지만 내가 만들었다는데 의의를 두고...

아직 사용하기에는 불편한 부분이 있지만 점차 개선해야 겠다!

백신 프로그램이나 방화벽, 윈도우 자체 보안에서 막히는 부분이 있는 것 같다..

일단 소스를 다운로드 받아보자! 

해당 링크로 들어가면 깃허브가 나온다. 우측의 'Code' 버튼을 눌러보자.

"Download ZIP" 버튼을 눌러 다운로드하고 압축을 해제한다!

"youtube_downloader.bat" 를 실행하면 된다.

윈도우 보안에 막힌 경우 '추가 정보'를 눌러 실행을 누르면 된다.

아직 개발 스킬이 부족하여 이런 부분을 신경쓰지 못했다.. 

혹시 에러가 나면 맨 아래로 이동해서 조치사항을 확인하면 된다.

프로그램을 시작하면 다음과 같은 화면이 나오게 된다.

유튜브에서 소장하고 싶은 동영상에서 "SHARE" 버튼을 누르면 공유 링크가 보이는데 "COPY" 를 눌러서 경로를 복사한다.

입력창에 유튜브 동영상 공유 링크를 붙여넣기 한 후에 동영상 다운로드 버튼을 누르면 된다!

링크가 정상적이었다면, 다음과 같이 알림이 뜨고 다운로드가 된다!

실행 파일이 있는 폴더에 'Downloads'라는 폴더가 생기고, 그 안에 동영상이 저장된다!

 

[ 향후 조치 사항]

1. MP3 로도 추출이 가능한 것 같다. 버튼을 2개로 나눠 동영상 파일과 음원 파일로 나눠 봐야겠다!

2. 다운로드가 되는 과정을 퍼센트 상태바로 표현하면 답답함이 적을 것 같다.

3. exe 파일 생성시 윈도우 보안에서 차단되지 않는 방법에 대해서 알아봐야겠다!

4. pytube 라이브러리가 없을 시에 자동으로 설치하는 로직을 만들면 좋을 것 같다!

 

혹시 파이썬 및 GUI 프로그래밍에 관심이 있는 분이 이 글을 본다면,

소스 안에 주석을 열심히 써놓았으니 참고하면 좋겠다.

 

[ 에러 발생시 조치사항 ]

기본적으로 파이썬이 설치되어 있어야한다. 저자는 파이썬 3.7버전 3.8버전을 사용해서 개발했다.

 

1. ModuleNotFoundError : No module namd 'pytube'

pytube 라이브러리를 설치해야한다.

pip install pytube

 

 

오늘은 Raspberry Pi의 OS를 설치하는 방법에 대해 알아보자.

RPi 3 B+                                                                                     RPi 4

https://www.balena.io/etcher/

 

balena - The complete IoT fleet management platform

Infrastructure and tools to develop, deploy, and manage connected devices at scale. Your first ten devices are always free.

www.balena.io

불과 몇 년 전만 해도 '이처'라는 프로그램을 사용해서 사용했는데(물론 아직도 사용할 수 있음)

라즈베리파이 측에서 이미지 내리는 전용 소프트웨어를 배포하였다.

https://www.raspberrypi.org/software/

 

Raspberry Pi OS – Raspberry Pi

The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community.

www.raspberrypi.org

해당 홈페이지에 들어가서 윈도우 버전을 다운로드하여 설치한다.

 

SD카드(16G)와 SD카드 리더기를 준비하여 PC에 연결한다!

Raspberry Pi Imager를 실행한다!

먼저 OS를 선택한다. "CHOOSE OS" 를 클릭한다!

추천하는 Full Version OS를 선택한다.

Other을 선택하면 Lite 버전도 다운받아 볼 수 있는데, Lite 버전은 GUI가 없어 사용하기가 까다로우니 권장 버전인 풀버전을 다운로드하도록 하자.

설치받을 SD카드를 선택한다.

혹시 PC에 여러 개의 USB를 꽂아 놓았다면, 다른 USB에 이미지 파일이 설치 되어 파일을 손실할 수 있으니 주의하자!

USB를 정확히 선택했는지 다시 한 번 확인하고 'WRITE' 를 클릭하자!

 

다음 글에서는 라즈베리 파이의 초기 설정에 대해서 알아보자!

가장 기본이 되는 것은 어떻게 라즈베리파이와 유무선 원격으로 접속하는지 설정하는 것이다!

오늘은 여기까지!

아두이노가 많이 알려지면서 점차 사용자가 늘고 있습니다!

물론 아두이노에 확장보드를 연결하고 브레드 보드에 케이블로 연결하는 것이 진정 아두이노의 맛이다! 라고

말씀하시는 분들도 있지만, 무선 통신을 지원하는 MCU를 사용하는 개발 보드를 사용하면 좀 더 컴팩트하게 테스트 보드를 제작하는 것이 가능합니다.

오늘은 Espressif 사의 제품인 ESP32 모듈을 Arduino Sketch에서 사용하는 방법에 대해서 알아보겠습니다.

 

먼저, 아두이노 스케치를 설치합니다.

https://www.arduino.cc/

 

Arduino - Home

 

www.arduino.cc

 

파일 - 환경설정 을 클릭합니다.

추가적인 보드 매니저 URLs 에 링크를 입력해야한다.

https://dl.espressif.com/dl/package_esp32_index.json

해당 링크를 복사하여 삽입하고 확인을 선택한다.

이제 ESP32 보드를 설치한다.

툴 - 보드 -  보드 매니저... 를 클릭한다.

검색바에 ' esp32 ' 라고 검색하여 가장 최신 버전을 설치해 준다!

설치 진행중인 화면!

설치가 완료된 화면!

이제 보드를 선택하고 사용해보자!

툴 - 보드 - ESP32 Arduino - 개발하고자 하는 보드

 

이제 아두이노 개발을 시작해보자~!

이제 본격적으로 사용하는 방법에 대해서 알아보자.

우리가 주로 다룰 탭은 'Source Control' 탭이다.

내 'Repository'에 소스가 변경되면 'Source Control'에 띄워지게 된다.

'Explorer' 탭에서도 수정된 파일을 확인해 볼 수 있다. M이라고 표시되는 것을 보면 Modify의 줄인말인듯 하다.

 

[git add]

스테이징 상태로 올리기 위해서는 버튼 하나만 클릭하면 된다!

수정한 파일 옆의 + 버튼을 누르면  git add가 된다!

 

[git reset]

만약 git add를 취소하고 싶다면?? git reset을 해야하는데!

Staged Changes 폴더에 있다면, ADD가 된 것들이고,

' - ' 버튼을 누르면 스테이징 취소가 되어 우측 상태로 원상 복구가 된다.

 

[check changes]

이전 소스에서 어떤 것이 변경되었는지 표시되어 확인할 수 있다.

 

[git discard changes]

다음은 테스트를 위해 주석을 한줄 추가 했다.

그랬더니 변경사항으로 해당 주석을 안내하고 있다.

왼쪽이 이전 소스이며, 우측이 최신 소스인데, 

최신 소스를 이전소스로 다시 되돌리는 방법으로 discard changes를 사용한다.

화살표 버튼을 누르면 다시 되돌릴 것인지를 정확히 물어보고, 

최종적으로 Discard Changes를 누르면 이전 소스로 원복해 버리고, source control 목록에서 제거되어 버린다.

이전 소스와 같이 되어 변경된 사항이 없어지게 된다.

 

[git commit]

이제 커밋을 해보자! 역시 버튼 하나와 메세지만 입력하면 된다!

스테이징 된 파일이 있다면, 'SOURCE CONTROL' 우측에 체크 버튼이 COMMIT 버튼이다!

클릭하고, 이제 코멘트를 달아주도록 하자.

메세지 입력란에 특징이 될만한 내용을 입력하고 엔터를 치면! COMMIT이 된다!

혹시 소스가 충돌이 되는 문제는 다음에 다루도록 하자.

충돌이 나서 커밋이 안된다면, 일단 작업한 소스를 백업을 하고, Pull로 받은 뒤에, 작업한 소스를 추가하여 add 후 commit 해주도록 하자!

 

[git push]

이제 Push를 하면 오늘의 잔디밭을 심을 수 있다!!

SOURCE CONTROL 우측 끝에 확장 버튼을 누르면 Push 가 나오는데,

클릭 한번으로 푸시 할 수 있어서 매우 간편하다.

 

[git pull]

pull도 마찬가지로 확장 버튼에서 pull 을 클릭하면 끝!

 

기존에 git bash로 하다가 GUI를 하게 되니 편한 부분이 있다.

하지만 branch나 세부적인 작업들은 bash가 더 나을 것이다.

결국은 TOOL은 그 상황에 맞게 잘 사용하는 것이 좋겠다!

기존에 리눅스 명령어로 깃허브를 사용했는데, 스테이징 하는 것이 눈에 잘 들어오지 않았다.

그래서 상태를 그래픽으로 확인할 수 있는 GUI를 찾다가 발견하게 된 것이

visual studio code 의 "GitHub Pull Requests and Issues" extension 이다!

 

오늘은 그 사용법을 알아보자.

지난 블로그에서 했지만, extension을 먼저 설치해 준다.

그렇게하면, 좌측 메뉴 바에 못보던 깃허브 버튼이 추가되고, 

 

 

설정 위에 있는 사람 아이콘에서 알림이 하나 발생하게 된다.

사람 아이콘을 클릭하면, 상세 내용을 확인할 수 있는데, 깃허브에 로그인을 해달라는 내용이다.

깃허브와 연동해보자.

해당 화면이 나오고 계속하기 버튼을 클릭한다.

아이디와 패스워드를 입력하여 로그인 해준다. 성공하였다면 Success! 라고 나온다!

크롬에서 'Visual Studio Code 열기' 를 물어볼 것이고, vscode 에서는 깃허브 연동에 대한 허용을 물어볼 것이다.

열기하여 연동해주면 된다.

 

누구나 무료로 쉽게 사용할 수 있는 IDE인 Visual Studio Code를 설치해보자.

먼저, Google에 'visual studio code' 라고 입력하여 검색하거나 아래의 링크로 이동한다.

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

해당 사이트로 들어가게 되면, 다운로드 버튼이 있다.

다운로드 버튼을 누르고, 조금 기다리면 "VSCodeUserSetup-x64.exe" 가 다운로드 된다.

이제 설치를 시작해보자. 

동의하고 다음을 클릭한다.

본인이 설치하고 싶은 경로로 변경하여 설치해도 무방하다.

이름은 웬만하면 그대로 유지하고 다음을 눌러준다.

이번 블로그에 핵심인데, "Code(으)로 열기"를 꼭 선택하고 다음을 클릭한다. 저것을 선택하게 되면~

향후 손쉽게 디렉토리나 소스파일을 vscode로 열어 작업할 수 있게 된다.

저것을 체크하지 않으면 따로 별도의 작업을 해야만 해당 기능을 사용할 수 있게 된다.

기타에 3가지 항목이 들어 갔는지 확인하고 설치를 한다.

이렇게 하면 설치가 완료 되었고, VScode를 실행해보자.

vscode에서 python을 실행해 보기 위해서는 Extension을 설치해 주어야 한다.

블록 모양 버튼(Extension) 버튼을 클릭하고, 검색바에 'python'을 검색하여

'Microsoft' 사에서 제작한 Python을 설치해 준다. 다른 것을 사용하기 보다 해당을 추천한다.

깃허브 유저는 해당 Extension도 추가적으로 설치하여 쉽게 깃허브를 사용해보자.

다음 블로그에는 깃허브 익스텐션에 대해 작성할 예정이다.

전에 AI Speaker 제작 프로젝트에서 라즈베리파이에서 적용했던 구글 어시스턴트를 적용한 것을 생각해보니, 

Google에서 제공하는 API를 윈도우에 적용해봐야겠다는 생각을 하게 되었다.

그래서 유튜브 동영상을 참고하여 도전해 보았다!

동영상을 찍은 시점과 현재가 조금 달라서 조금 시간이 걸려서 이렇게 공유해보려 한다.

 

시작 전에 글쓴이는 현재 파이썬 버전 3.7.7버전을 사용하고 있고

가상환경에 다른 파이썬 버전이 설치되어있기 때문에

기본적인 파이썬 라이브러리 설치 명령어가 아닌

python -m pip install <library name> 

특정 버전의 파이썬에 설치하는 명령어를 사용하겠다.

py -3.7 -m pip install <library name> 

 

 

이제 시작합니다!

[ google assistant sdk 설치 ]

py -3.7 -m pip install google-assistant-sdk[sample]

[ oauth lib 설치 ]

py -3.7 -m pip install --upgrade google-auth-oauthlib[tool]

 

google cloud platform 으로 이동하세요!

저는 이미 프로젝트를 만들었기 때문에 프로젝트 이름을 클릭합니다.

NEW PROJECT 로 새로운 프로젝트를 생성합니다.

프로젝트의 이름을 설정합니다. 위치는 특별히 중요하지 않습니다.

잘 생성되었다면 알림을 확인할 수 있습니다.

전과 같이 프로젝트 이름을 클릭하여, 생성한 프로젝트를 선택합니다.

좌측의 메뉴에서 APIs & Services - Dashboard 클릭합니다. 

EBABLE APIS AND SERVICES 를 클릭합니다.

API Library 에서 Google Assistant API 를 검색합니다.

Google Assistant API 를 클릭합니다.

ENABLE 버튼을 눌러 활성화합니다.

활성화한 뒤, 다음 창에서 Credentials 메뉴를 클릭합니다.

CREATE CREDENTIALS을 클릭합니다.

OAuth client ID 를 클릭합니다.

CONFIGURE CONSENT SCREEN 을 클릭합니다.

External 을 선택하고 CREATE 버튼을 눌러 생성합니다.

앱 정보를 입력하는데, App name과 User support email은 필수사항으로 입력해야한다.

스크롤을 내려보면, 개발자 이메일 입력하는 곳이 나온다! 앱 접근을 할 때, 요청하고, 개발자는 승인해야한다.

이메일 입력 후, SAVE AND CONTINUE 버튼을 눌러 다음으로 넘어간다.

보안 증명 과정을 등록한다. ADD OR REMOVE SCOPES 버튼을 클릭한다.

꼭 필요한 절차인지는 모르겠는데 의식의 흐름대로 설정했다.

openid를 선택하고 스크롤을 내려 UPDATE 버튼을 누른다.

설정이 완료되면, Your non-sensitive scopes 에 openid가 등록된다.  

스크롤을 내려 SAVE AND CONTINUE 버튼을 눌러 다음 단계로 이동한다.

3번째 단계인 Test users 단계는 생략하였다. 왜냐하면 사용자 이름도 모르겠고,

주의 사항으로 한 번 추가를 하면 지울 수가 없어서 SAVE AND CONTINUE 버튼을 눌러 다음 단계로 이동했다.

마지막으로 요약이 나온다. 스크롤을 내려 BACK TO DASHBOARD 를 클릭한다.

이 부분이 중요한데, 이걸 못 찾아서 시간이 오래 걸렸다.

PUBLISH APP를 하지 않으면 다음과 같은 에러가 발생하고, OAuth 허용을 할 수 없다.

PUBLISH APP 버튼을 누른다.

CONFIRM 버튼을 눌러 확인한다.

Verification Status를 확인하고, Credentials 메뉴로 다시 이동한다.

OAuth 2.0 Client IDs 가 생성되어야 하기 때문에, CREATE CREDENTIALS 버튼을 누른다.

OAuth client ID 를 선택한다.

Application type을 windows에서 할 것이기 때문에 Desktop app으로 선택했다. 

client ID Name을 지정해준다. 각 Application type별로 여러개를 만들 수 있는 듯 하다.

이름을 지정하고 CREATE 버튼을 눌러 생성한다.

잘 생성되었다면, 다음과 같은 알림창이 나온다.

Credentials 메뉴에서 아이디 목록을 확인 할 수 있고 우측 다운로드 버튼을 눌러 JSON 파일을 다운로드 할 수 있다.

이제 Google Cloud Platform 설정은 모두 끝났다.

다운로드된 JSON 파일을 당신의 프로젝트 폴더로 위치시키고

커맨드 창에서 다음 명령어를 입력한다.

이 때, <Your client_secret_json_file_path> 대신 JSON 파일을 절대 경로를 입력한다.

보통 C:\Users 로 시작해 googleusercontent.com.json로 끝날 것이다.

다음 명령어를 메모장에 복사하여 편집하여 사용하기를 권장한다.

google-oauthlib-tool --client-secrets <Your client_secret_json_file_path> --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

위의 명령어를 입력하면 커맨드창에서 다음과 같이 출력된다.

URL을 복사하여 web으로 열어준다.

계정을 선택하고, 로그인을 한 뒤 허용을 눌러준다.

그렇게 하면, Authorize Code가 나오는데, 이것을 복사하여 커맨트 창에 입력해준다.

[ 하드웨어 준비 ]

컴퓨터에 마이크와 스피커를 연결한다. 글쓴이는 이어폰을 연결하였다.

마이크와 스피커를 테스트 하기 위한 기본 예제를 실행시킨다.

py -3.7 -m googlesamples.assistant.grpc.audio_helpers

파이썬 모듈이 없다고 에러가 발생하였다. sounddevice 라이브러리를 설치한다.

py -3.7 -m pip install sounddevice

그 뒤, 다시 예제 명령어를 동작하니 내가 말한 음성이 녹음되었다가 내게 들렸다.

그 다음으로, 프로젝트 ID와 모델명을 등록한다.

googlesamples-assistant-devicetool --project-id <Your Project Name> register-model --manufacturer “Assistant SDK developer” --product-name “Assistant SDK light” --type LIGHT --model “<Your Model Name>”

이때, 프로젝트 이름은 하단의 표시된 부분이며, 모델명은 중복되지 않도록만 설정하면 된다. (예시, "updaun0418")

제대로 등록이 되면 다음과 같이 출력된다.

이제, 구글 어시스턴트를 실행해 보겠다!

[ 구글 어시스턴트 실행 명령어 ]

py -3.7 -m googlesamples.assistant.grpc.pushtotalk --device-model-id “updaun0418” --project-id Updaun-Blog-ILikeIt

역시 에러가 발생했다.

에러 1) ModuleNotFoundError : No module named 'pathlib2'

해결) 파이썬 라이브러리 설치(pathlib2)

py -3.7 -m pip install pathlib2

에러 2) ModuleNotFoundError : No module named 'grpc'

해결) 파이썬 라이브러리 설치(grpcio, grpcio-tools)

py -3.7 -m pip install grpcio
py -3.7 -m pip install grpcio-tools

 

 

 

에러 3) ModuleNotFoundError : No module named 'google.assistant'

해결) 파이썬 라이브러리 업그레이드 설치(google-assistant-sdk[samples])

py -3.7 -m pip install --upgrade google-assistant-sdk[samples]

 

 

[ 구글 어시스턴트 실행 결과창 ]

엔터를 누르고 구글 어시스턴트에게 질문을 한 뒤, 답변을 기다린다.

 드디어,, 끝이 났다. 휴... 성공!!

 

[ 한글 지원 구글 어시스턴트 명령어 ] 

py -3.7 -m googlesamples.assistant.grpc.pushtotalk --lang ko-KR

굳이 이 명령어를 하지 않아도 되는 것 같다. 

혹시나 한글지원이 안될 경우 사용하면 된다.

+ Recent posts