본문 바로가기
Docker & Kubernetes

[Docker][Jupyter] ImportError: cannot import name 'create_prompt_application'

by 오늘의개발부 2019. 9. 16.
반응형

이미지 검색 성능향상을 고려한 cupy 세팅이 필수적인 상황이 되었다. 제작중인 Docker Container에 cupy를 설치하려니 빌드가 안되는오류가 발생했고, cuda빌드를 다시할 바엔 cupy를 실행할 수 있는 새로운 이미지를 찾아서 처음부터 다시 세팅하기로 결정했다. 그리하여 새로운 프로젝트 환경에 맞춰 새로운 tensorflow Docker Image로 컨테이너를 준비했다. 내가 사용한 Docker Image는 samuelcolvin/tensorflow-gpu-py36이다. (https://hub.docker.com/r/samuelcolvin/tensorflow-gpu-py36)

해당 이미지에는 jupyter가 깔려있지 않아서 pip install jupyter 명령어를 통해 라이브러리를 설치했다. 최상단에 notebook 디렉토리를 생성하고 아래 명령어로 jupyter를 실행했다.

jupyter notebook --ip=0.0.0.0 --port=28888 --allow-root 

 

 

토큰값과 함께 정상적으로 서버가 실행되었고 jupyter 접속도 가능했다. 헌데, 새로운 ipython파일을 생성하자 아래 사진같은 오류로그를 계속 출력했다.

 

 

이러더니 생성했던 ipython도... 요렇게 뿅!

 

 

오늘도 역시나 스택오버플로우에서 답을 얻었다.(https://stackoverflow.com/questions/51676835/ipython-cannot-import-name-create-prompt-application-from-prompt-toolkit-s)

pip3 install 'prompt-toolkit<2.0.0,>=1.0.15' --force-reinstall

 

혹은! prompt-toolkit이 jupyter 라이브러리에 의존하고 있기에 jupyter를 새로 설치하면 된다!

pip uninstall jupyter
pip install jupyter --no-cache-dir

 

반응형