플로라도의 data workout

%cd와 !pip install 명령어의 '%'와 '!'는 무엇일까? 본문

기초 노트/Python

%cd와 !pip install 명령어의 '%'와 '!'는 무엇일까?

플로라도 2024. 4. 22. 20:56

'%cd'와 '!pip'에서 사용되는 '%'와 '!'는 IPython(주피터 노트북에서 주로 사용되는 Python 인터랙티브 쉘)의 특수 명령어 접두사다. 각각은 다른 목적과 기능을 가지고 있다.
 
 

1. '%' (매직명령어)

'%'는 IPython의 매직 명령어를 나타내며, IPython 자체에 의해 처리된다. 이러한 명령어들은 일반적인 Python 코드와는 다르게 IPython환경을 위해 특별히 제작되었다. 예를 들어, '%cd'명령어는 현재 작업 디렉토리를 변경하는 IPython 매직 명령어이다. 매직 명령어는 IPython에 의해서만 인식되고 실행되며, Python 스크립트상에서는 사용할 수 없다.
 
 

2. '!' (시스템명령어)

'!'는 주피터 노트북에서 시스템 쉘 명령어를 실행할 때 사용된다. 예를들어, '!pip' 명령어는 시스템의 쉘을 통해 Python 패키지 관리자인 pip을 사용하여 패키지를 설치하거나 관리하라는 명령어이다. '!'는 IPython이 아닌 시스템의 쉘에 명령을 전달하여 실행시킨다.
 
 
 
 
요약하자면 '%'는 IPython의 내장 기능을 제어하기 위한 매직 명령어이며, '!'는 외부 쉘 명령어를 실행하기 위한 방법이다.
각각은 주피터  노트북에서 작업하는데 있어서 효율적인 환경을 제공하기 위해 사용된다. 
 
 
 
 

IPython(Interactive Python)은 파이썬 언어를 대화식으로 사용할 수 있게 해주는 커맨드 쉘로, 주피터 노트북(Jupyter Notebook)이 대표적이다. 주로 데이터 과학, 연구, 교육 등 파이썬 기반의 대화형 작업을 위해 설계 되었다.

시스템 쉘은 운영체제와 사용자 간의 인터페이스를 제공하는 프로그램이다. 예를 들어, Windows의 CMD나 PowerShell, macOS와 Linux의 Bash등이 있다. 시스템 쉘은 주로 시스템 관리, 프로세스 관리, 네트워킹 설정 등 시스템 전반의 관리 작업을 수행하며, 쉘 스크립트를 통해 반복적인 작업을 자동화 할 수 있고, 다양한 커맨드를 통해 시스템의 모든 리소스에 접근할 수 있는 강력한 커맨드를 제공한다.


IPython은 주로 파이썬을 위한 작업 환경을, 시스템 쉘은 OS 레벨에서의 작업을 위한 환경을 제공한다.