반응형

Pycharm에서 jupyter notebook을 원격으로 실행하고자 하였는데 위와 같은 에러가 발생하였다. 결과적으로, 이는 Jupyter server를 제대로 연결해주지 않았기 때문에 생긴 문제이다. 결론부터 말하자면 'jupyter notebook list' 명령어를 입력 후 나오는 것을 'Configured Server'의 입력으로 넣어주어야 한다. 

Pycharm의 기본 설정 상태. 이런 상태에서는 원격 python interpreter로 notebook의 cell을 실행할 수 없다.

Pycharm은  'Jupyter Servers'의 설정을 'Use Managed Server'을 기본으로 해두었고 당시 본인은 Python Interpreter를 원격 서버의 것으로 설정해주었는데, 이렇게 하면 다음과 같은 메시지가 잠깐 뜨고 사라진다. 해당 문구는 아래와 같다.

 

'Use only local Python interpreters to start the managed Jupyter servers. To configure any remote Jupyter server, specify its URL and token.'

 

번역하면 아래와 같다.

 

'관리되는 Jupyter 서버를 시작하려면 로컬 Python 인터프리터만 사용하십시오. 원격 Jupyter 서버를 구성하려면 해당 URL과 토큰을 지정하십시오.'

 

그래서 'Configured Server'로 설정해주어야 하는데, 이때 문제가 발생한다. 상세한 해결 과정을 아래에 적어둔다.

 

 

목차

1. 주피터 노트북을 원격 접속이 가능하도록 설정 후 실행한다.

2. 'File' >> 'Settings' >> 'Languages & Frameworks' >> 'Jupyter' >> 'Jupyter Servers'에서 'Use Managed Server'를 'Configured Server'로 바꾸어준다. 이때, 정확한 Jupyter notebook 실행 경로를 입력해야 한다.


1. 주피터 노트북을 원격 접속이 가능하도록 설정 후 실행한다.

이미 원격 접속이 된다면, 2.로 바로 넘어가자.

원격 접속을 하는 방법은 아래 글에 포스팅하였다.

https://hoohaha.tistory.com/94

 

[Jupyter]jupyter notebook 원격 실행하기

원격 서버를 이용해 jupyter notebook을 실행하고 이를 Pycharm으로 연동하고자 하였다. 해당 과정 중 jupyter notebook을 원격 서버에서 실행하는 방법을 아래에 적어둔다. 목차 1. 원격 서버에 접속한다. 2.

hoohaha.tistory.com

위 설정이 끝났다면 Jupyter의 Server 설정을 바꾸어주어야 한다.


2. 'File' >> 'Settings' >> 'Languages & Frameworks' >> 'Jupyter' >> 'Jupyter Servers'에서 'Use Managed Server'를 'Configured Server'로 바꾸어준다. 이때, 정확한 Jupyter notebook 실행 경로를 입력해야 한다.

이때, Configured Server의 입력값은 URL과 토큰이다. 그런데, 비밀번호를 설정했다면 URL만 입력해주어도 된다.

원격 Python Interpreter를 이용하려면 Configured Server로 설정해주어야 한다.

이를 확인하기 위해 jupyter notebook을 실행 후 아래 명령어를 입력하자. 현재 열려 있는 세션의 토큰과 URL을 한번에 알 수 있다. 1.의 포스팅을 따라했으면 아래와 같이 포트 번호 뒤에 아무 것도 없을 것이고, 따로 설정하지 않았다면 토큰이 같이 나올 것이다.

jupyter notebook list

비밀번호 설정을 해주었을 때
비밀번호 설정을 하지 않았을 때

아래는 잘못된 예시이다. 본인은 여기서 한참 헤맸다..

잘못된 예시. http://를 붙여주지 않았다. 그리고 토큰이 필요한 사용자라면 뒤에 토큰을 입력하지 않았다.
올바른 예시. http://를 꼭 붙여주어야 한다!

위와 같이 설정 후 Apply를 하면 끝났다.

Pycharm의 기본 설정 상태. 이런 상태에서는 원격 python interpreter로 notebook의 cell을 실행할 수 없다.
Configured Server 적용 시 상태.

아래와 같이 잘 실행되는 것을 확인할 수 있다.

이미 autoreload되었다. <=> 셀이 잘 실행되었다.

 

혹시 아래와 같은 에러가 발생한다면, 'Settings'에서 'Use Managed Server'로 변경 후 'Configured Server'로 다시 바꾸어주면 잘 실행된다.

이렇게 Jupyter server process failed to start illegal char at index 에러에 대해 알아보았다. jupyter notebook의 설정, pycharm의 Jupyter Server 환경 두 문제가 겹쳐진 문제라 접근하기 어려웠는데 하나하나 찾아보니 결국 해결되었다. 원인을 알기 어려웠던 것이 시간을 끈 원인이었다. 공식 홈페이지에서는 에러 예시 없이 토큰을 입력하라는 한 줄만 있어서 아쉽기도 했다.

 

https://www.jetbrains.com/help/pycharm/configuring-jupyter-notebook.html#configure-server

 

Manage Jupyter notebook servers | PyCharm

 

www.jetbrains.com

 

이 글이 도움이 되기를 바랍니다. 혹시 잘못된 점이 있다면 댓글 부탁드리겠습니다.

반응형

+ Recent posts