드래그방지코드 <--> 드래그방지코드 <-->
 

노션에서 작성하고 티스토리로 (N2T) -1

노션 선택이유

블로그를 시작하면서 작성한 글들을 한군데에 모아서 관리하기 편하게 환경을 세팅하고 싶었습니다. 노션의 마크다운도 디자인이 괜찬아보였고 무엇보다 작성해놓고 자동으로 보낼 수 있다는게 좋아보였습니다.

환경 세팅 과정

minmin2님의 블로그를 참고했습니다. (https://minimin2.tistory.com/176) 이 자리를 빌어 감사를 👏. minmin2님이 만드신노션에서 티스토리로 글을 업로드하는 자동화 프로그램은 이름이 N2T입니다. 파이썬으로 작성하셨고 자세히 보진 않았지만 여러 파이썬 라이브러리를 사용하여 노션에서 해당 타케팅 글을 가져와서 티스토리에 업로드 하는 과정을 자동화 시켜 놓으신 것 같았습니다. 저는 해당 프로그램을 vscode에 환경을 세팅해보고 잘 되면 colab에도 설치해봐서 실행해보기로 했습니다. colab에 설치해놓으면 어디서나 접속할 수 있기때문에 더 좋을 것 같았습니다. 하지만 설치 과정에서 몇 가지 error를 만나서 시간이 좀 걸렸습니다.

첫 번째 에러

pip3 install -r requirements.txt Collecting git+https://github.com/wsykala/notion-py.git (from -r requirements.txt (line 7)) Cloning https://github.com/wsykala/notion-py.git to c:\users\flowr\appdata\local\temp\pip-req-build-s_9fulsy Running command git clone --filter=blob:none --quiet https://github.com/wsykala/notion-py.git 'C:\Users\flowr\AppData\Local\Temp\pip-req-build-s_9fulsy' Resolved https://github.com/wsykala/notion-py.git to commit 37e04f8f98e82ac408f3655a44b5641faa32fea7 Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

설치해야하는 라이브러리가 몇 가지 있는데 그 중에 일곱번째인 notion-py가 문제 였습니다. 확인해본 결과 notion-py 라이브러리가 문제가 있어서 pip으로 설치하기 보다는 포크된 버젼을 깃으로 클론 받아서 설치해야되는 상황 같았습니다. 하지만 해당 깃이 클론 되지 않아서 더 검색해보니 코드에 문제가 있어서 클론이 되지 않는다는 주장이 있었습니다.

🧗‍♂️
남들은 아무렇게나 설치해도 잘만 되는 것 같은데 내가 하면 항상 온갖 에러를 만납니다.

그러면 해당 깃을 zip파일로 다운 받아서 직접설치하는 방법 뿐이었습니다. 그래서 zip파일을 받고 압축을 풀었습니다. notion-py에는 requirements.txt 와 setup.py 두 가지 파일이 있었는데 requirements.txt의 존재 이유를 잘 모르겠더군요. 버젼을 기록해놓거나 출처를 적어놓은 것도 아닌데 그냥 setup.py만 있어도 될 것 같은데.. 어쨌든 저는 setup.py를 이용해서 notion-py를 설치했습니다.

python setup.py install

설치가 잘 되지 않았습니다…에러가 뭐라고 떴는데 캡쳐해놓질 않아서 대충 fh.read() 에러 어쩌구… 참고로 notion-py를 제대로 설치하지 않고 프로그램을 실행시키면 아래와 같은 에러가 뜨곤 했습니다.

두 번째 에러

File "C:\notion2tistory\N2T\main.py", line 165, in <module> client = Notion2Tistory(cfg, sleep_time=5, selenium_debug=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\notion2tistory\N2T\main.py", line 36, in init self.pages = self.n_client.get_pages_readyToPost(table_url=cfg.NOTION.TABLE_PAGE_URL, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\notion2tistory\N2T\clients\NotionClient.py", line 37, in get_pages_readyToPost cv = self.client.get_collection_view(table_url)

notion-py가 설치가 안되는 이유를 구글링해보니 아무래도 utf-8 문제인것 같았습니다. 그래서 zip파일로 다운 받아서 설치한 notion-py 폴더의 setup.py의 맨 처음 부분에 분홍색 부분을 추가해주었습니다. 인코딩을 utf-8형태로 하지 않으면 README.MD를 잘 읽어오지 못해서 fh.read()에서 오류가 발생할 수 있다고 하더군요.

import setuptools

with open("README.md", "r", encoding='utf-8') as fh:
    long_description = fh.read()

이렇게 무사히 notion-py를 설치하고 나서 업로드가 잘 되었습니다.

다음 미션은 colab에 환경 구성해보기 입니다….


Uploaded by N2T