2022-여름인턴 근무일지-3

송하·2022년 7월 11일
0

2022-여름인턴

목록 보기
3/4

🫥 2022년 7월 11일 월요일

월요일 출근길은 평소보다 막힌다.. 오늘은 평소보다 일찍 출발했는데 하마터면 지각할뻔했다..^^; 아침에 오자마자 부장님이 과제는 했냐고 물어보셔서 넹🤗하고 당당하게 얘기했더니 이제 데이터 긁어오고 db를 해야한다 했다. 근데 문제는 내가 db를 몰라서 부장님이 지금 하시는거 해결하시고 알려주신다고 했다.

그래서 주피터노트북을 조금 고쳐봤다..!

3번째 에러는 이전부터 나던거다. 그래도 돌아가는게 어디인가 싶다ㅜㅜ 해결방법은 다음과 같다.

1. 터미널의 파이썬 버전을 업그레이드

현재 내 터미널의 파이썬 버전은 3.9.13, 주피터 노트북은 3.10.5이다. 파이썬이 3.10까지 나왔으니 터미널을 빠르게 3.10으로 업데이트 하면 주피터가 돌아갈거라 생각하고 이것저것 참고 문서를 보는데 아직 맥북에서는 3.9가 제일 최신버전이라고 한다.. (이것저것 문제 때문에 3.10으로 올리지 않는다고 했다) 그래서 실패.

2. 주피터노트북의 버전을 다운그레이드

아까 얘기한거처럼 버전이 안맞기 때문에 주피터 노트북 버전을 다운그레이드 하려고 했는데 아나콘다가 m1에서는 제대로 안된다는 글을 보았고.. 콘다로 설정이 잘 되지 않았다.

3. 결국은 커널 버전 추가

결국 내가 선택한 방법은 주피터노트북 커널을 추가하는 것이었다. 아래의 코드를 터미널에 입력해 커널을 추가했다.

python3.9 -m pip install ipykernel
python3.9 -m ipykernel install --user --name="원하는 커널 이름"

나는 파이썬 3.9버전을 설치하고 싶었기 때문에 코드에 3.9가 있지만 원하는 버전에 따라 바꿔 설치하면 된다. 이렇게 설정해주니 보조로 3.9 커널이 만들어져서 드디어 코드가 돌아갔다.
그렇지만 대부분의 모듈이 설치가 안되어있는지.. matplotlib, bs4이런 모듈이 설치가 안되어있다고 했다. 이부분은 또 시간이 남으면 수정하고 바꿔야겠다.

빨리 맥북이 3.10 파이썬이 적용되면 좋겠다.....😢


오후에 부장님이 짜여진 코드를 설명해주셨고 과제로 도커를 설치해서 mysql을 하나 만들고(db와 유저를 생성하고) 네이버에 접속한것을 db에 접속시켜서 홈페에지 제목, 접속시간(파이썬으로 현재시간 가지고 오기) 필드를 db에 집어 넣기를 해보라고 하셨다.

내 노트북은 맥북에어 m1이기 때문에 구글에 검색해서 다음과 같은 코드를 이용해서 mysql을 만들고자 하였다.

docker run --rm --platform linux/amd64 -it mysql:latest

docker images

이렇게 하면 아래와 같은 화면이 뜨는데 문제는 사진 아래의 코드는 돌아가지 않는것이다..

docker run --platform linux/amd64 \
-p 0:0 \
--name mysql-songha \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=mysql \
-e MYSQL_USER=user \
-e MYSQL_PASSWORD=userpwd \
-v /Users/whatiy/PROJECT/test-example/mysql-data:/var/lib/mysql \
-d mysql:latest

처음에는 port 번호를 3306을 사용했는데 에러라고 떴다. (이미 사용중이라고 적혀져있었다.) 그래서 3306번 포트를 확인하고 지우는 과정을 반복했는데.. 이게 왜 안지워지고 무한생성이 되고 있을까...

이래저래 찾아보다 맥북 m1은 포트번호가 0이라는 사실을 알게되었고 위의 코드처럼 하자 아래와 같은 에러가 나왔다.

나는 이제 모르겠다........😱

오늘은 혼자 해결할 수 없는 문제인 것 같다.. 화가 엄청 나고 짜증도 나고.. 내가 이것 밖에 모르는게 화난다.

중간에 팀장님이 와서 유튜브 크롤링 관련 여러가지를 설명해주시고 가셨는데 20% 이해했다.. 내 자신이 한없이 멍청해보이는 하루이다..

+) 아 참고로 생성은 되는데 실행이 안되는것 같았다. (당연하지 에러가 뜨는데..)

++) 저번주에 화면이 나타나지 않았던 이유는 WebDriver 코드의
__init__ 함수가 visible = False로 되어있었기 때문이다. 코르를 조금 수정해주었더니 화면이 켜지기는 하지만 바로 사라진다. 이 부분은 옵션을 통해서 수정할 수 있다.

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("detach", True) #브라우저 꺼짐 방지
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) #불필요한 에러 메세지 없애기
profile
Master Student @ KU👩🏻‍🎓

0개의 댓글