Home !와 % 명령어 차이
Post
Cancel

!와 % 명령어 차이

1. 문제 발생

vs code에서 주피터 노트북으로 파이썬을 주로 사용하는데, pandas와 numpy를 사용하는 과정에서 문제가 발생했다.
일반적으로, !pip install을 이용해 모듈들을 정상적으로 설치했는데 커널상에서는 정상적으로 설치가 되었지만, vs code 상에서는 !pip가 아닌 %pip를 쓰라는 도움말만 나오며 모듈이 설치되지 않았다는 문제가 계속 발생되었다.
결국에는 %pip install로 문제를 해결하긴 했다.

2. !

셀에서 시스템 명령어를 사용하기 위해서는 !를 명령어 앞에 붙여야하는 걸로 알고 있었다.
!가 붙은 명령어는 파이썬 코드의 명령 줄 스크립트가 아니라 노트북 셀을 알려주는 역할을 한다는거 같다.

3. %

검색해도 마땅한 자료는 안나오는거 같다. 단순히 !와 같은 역할을 한다는 점만 알겠는데, 매직 함수(magic function)라고만 알게됬다.
파이썬의 매직 매소드와 같은것인지해서 좀 더 찾아보니, 딱히 마음에드는 정보를 찾지 못했다. 그래도 찾은 내용들을 정리해보면,

  1. 매직 함수이다
  2. 대화식 인터프리터에 작업에 유용하다
  3. 바로 가기를 정의한다

4. 정리

!와 %의 정확한 차이점은 모르겠다.. matplot을 사용할 때, %를 붙이고 쓰는걸 봤을때 바로 가기 정의와 관련이 있을꺼 같긴한데 일단 근본 문제였던 판다스가 설치되지 않는 문제를 해결하긴했으니..

추가

!와 % 모두 매직 커맨드라고하며 쉘에서 쓸 수 있는 명령어들을 주피터노트북에서 사용할 수 있게해준다. 기본적으로 비슷하게 동작하나 명령어에 따라 사용하는 기호가 다르다고한다.

참고 서적: 파이썬 데이터사이언스 핸드북
참고 페이지: 매직 커맨드

This post is licensed under CC BY 4.0 by the author.

SMTP로 메일 보내기

ImportError: cannot import name 'ABCIndexClass' from 'pandas.core.dtypes.generic' 문제해결

Comments powered by Disqus.