pororo 설치 및 ImportError: cannot import name 'Pororo’ 에러 해결

gromit·2022년 12월 23일
1

카카오브레인 pororo, conda 가상환경에 설치하는 방법

# pororo는 pytorch 1.6 이 선행되어야 함. 이를 위해 python-3.6 버전으로 가상환경 생성
conda create -n pororo_test python=3.6
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch

# pip 유저 옵션 - 권한 문제 해결
python -m pip install -U pip --user
# 여기까지 참고: https://kangaroo-dev.tistory.com/1

# pororo git
git clone https://github.com/kakaobrain/pororo.git
ls
cd pororo
conda install -e .

  1. pip install pororo를 했더니 ImportError: cannot import name 'Pororo’ 에러가 떴다.
    • 설치 시 커맨드 창
      Successfully built pororo
      Installing collected packages: pororo
        Attempting uninstall: pororo
          Found existing installation: pororo 0.4.2
          Uninstalling pororo-0.4.2:
            Successfully uninstalled pororo-0.4.2
      Successfully installed pororo-0.4.1
    • 실패
      $python pororo.py
      Traceback (most recent call last):
       File "pororo.py", line 1, in <module>
         from pororo import Pororo
       File "/pororo.py", line 1, in <module>
         from pororo import Pororo
       ImportError: cannot import name 'Pororo'

  1. pororo git을 clone하여 직접 conda install -e . 해주어야 한다. 그리고 이때 가상환경을 새로 생성해주어 pytorch 1.6을 꼭! 먼저 설치해 주어야 한다.
    • 설치 시 커맨드 창
      Installing collected packages: pororo
        Attempting uninstall: pororo
          Found existing installation: pororo 0.4.1
          Uninstalling pororo-0.4.1:
            Successfully uninstalled pororo-0.4.1
        Running setup.py develop for pororo
      Successfully installed pororo-0.4.1
    • 성공
      $python
      >>> from pororo import Pororo
      >>> Pororo.available_tasks()
      "Available tasks are ['mrc', 'rc', 'qa', 'question_answering', 'machine_reading_comprehension', 'reading_comprehension', 'sentiment', 'sentiment_analysis', 'nli', 'natural_language_inference', 'inference', 'fill', 'fill_in_blank', 'fib', 'para', 'pi', 'cse', 'contextual_subword_embedding', 'similarity', 'sts', 'semantic_textual_similarity', 'sentence_similarity', 'sentvec', 'sentence_embedding', 'sentence_vector', 'se', 'inflection', 'morphological_inflection', 'g2p', 'grapheme_to_phoneme', 'grapheme_to_phoneme_conversion', 'w2v', 'wordvec', 'word2vec', 'word_vector', 'word_embedding', 'tokenize', 'tokenise', 'tokenization', 'tokenisation', 'tok', 'segmentation', 'seg', 'mt', 'machine_translation', 'translation', 'pos', 'tag', 'pos_tagging', 'tagging', 'const', 'constituency', 'constituency_parsing', 'cp', 'pg', 'collocation', 'collocate', 'col', 'word_translation', 'wt', 'summarization', 'summarisation', 'text_summarization', 'text_summarisation', 'summary', 'gec', 'review', 'review_scoring', 'lemmatization', 'lemmatisation', 'lemma', 'ner', 'named_entity_recognition', 'entity_recognition', 'zero-topic', 'dp', 'dep_parse', 'caption', 'captioning', 'asr', 'speech_recognition', 'st', 'speech_translation', 'tts', 'text_to_speech', 'speech_synthesis', 'ocr', 'srl', 'semantic_role_labeling', 'p2g', 'aes', 'essay', 'qg', 'question_generation', 'age_suitability', 'wsd']"
      >>>
profile
AI, Big Data, Industrial Engineering

2개의 댓글

comment-user-thumbnail
2023년 2월 5일

안녕하세요, 포스팅 잘 봤습니다.

저도 이 방법으로 로컬 환경에 pororo를 설치하려고 하는데, 나중에 가상환경이 서로 충돌된다던지 torch나 torchvision 등 라이브러리 사용/업데이트에 이슈는 없으셨나요? 제가 가상환경이나 컴퓨터에 대한 지식이 없어서 그런지 조금 겁이 나네요..ㅎㅎ

답글 달기
comment-user-thumbnail
2023년 5월 11일

같은 방식으로 저도 진행하려 했으나, pytorch 버젼 문제로 pip 로 설치는 1.6버전은 안되는것같더라구요. 여기 블로그에선 conda install -e 로 설치하셨다하였는데 conda 에도 -e옵션이 있는건가요?
추가적으로 pip install -e .로 설치해도 인코딩문제가 있어 setup.py도 손봐야하고 torch version문제로 진행이 안됩니다. 설치하기도 참 어렵네요

답글 달기