파이썬에서 ModuleNotFoundError: No module named xx 에 대해 질문합니다.

조회수 30383회

파이썬 작업중에 막히는 부분이 있어서 문의 드립니다.

프로그래밍 작업을 하다보니 여러가지 유용한 라이브러리를 import해서 사용중인데

다른 프로그램을 설치하는 도중에 path쪽이 꼬인건지 아니면 해당 라이브러리가 깨진건지

이전에는 작동하던 라이브러리 하나가 작동을 하지 않고

Traceback (most recent call last):

  File "C:\ProgramData\Anaconda3\Scripts\test.py", line 4, in <module>

   import statsmodels.formula.api as sm

  File "C:\ProgramData\Anaconda3\Scripts\statsmodels.py", line 3, in <module>

    import statsmodels.formula.api as sm

ModuleNotFoundError: No module named 'statsmodels.formula'; 'statsmodels' is not a package

라는 문구와 함께 인식을 하지 못합니다.

 import statsmodels.formula.api as sm

해당 문장을 통해 import해서 사용중이였습니다.

라이브러리가 깨졌다고 생각해서 pip를 사용해 uninstall 후 재설치를 수행해보았지만 동일하게 작동하지 않고 있습니다.

path 쪽은 제가 아직 미숙해서 어떻게 손봐야될지 모르겠더군요.

다른 고수분들의 좋은 답변 부탁드립니다.

2 답변

  • no module이라는 에러는 보통, module이 아닌 것을 import 할려고할 때 발생합니다.

    module로 import 하지 않고, module 안에 속해 있는 하나의 프로그램을 import 하기 위해서는, from으로 어디에 속해 있는 모듈인지 말씀하셔야 합니다.

    보통, Python에서는. 하나의 모듈을, 하나의 .py 확장자 파일로 인식합니다. 즉, 원하시는 형태로 import 하시기 위해서는 다음과 같이 하셔야합니다.

    from statsmodels import formula as sm
    

    그리고, formula가 뭔지는 모르겠지만. formula.api 라는 형태로 보았을 때에, class에 포함된 함수라고 생각하면. 보통, formula까지 가져오는게 정신건강에 좋을듯 합니다...

    formula까지가 모듈이라면 모르겠지만서도...

    • 상세한 답변 감사합니다. 해당 라이브러리명은 'statsmodels' 이라는 통계 라이브러리입니다. 본문 작성하는데 똑같은 코드부분인데 일부분만 코드로 강조되어서 표현이 잘못되었군요 ㅠㅠ 알 수 없는 사용자 2018.1.4 14:10
  • 파이썬 초심자들이 자주 저지르는 실수입니다.

    에러메시지로 봤을 때, statsmodels.py 라는 이름의 파일이 실행하는 메인 파이썬 파일인 test.py 와 동일 위치(C:\ProgramData\Anaconda3\Scripts\)에 있어서, 라이브러리의 statsmodels 을 import 하지 않고, 동일위치의 스크립트파일인 statsmodels.py 에서 import 를 시도하기 때문에 발생하는 에러입니다. (pip 설치 라이브러리 파일들은 Lib/site-package/statsmodels 와 갈은 모양의 패쓰에 설치가 됩니다.)

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)