모듈
파이썬에서 모듈(module)은 파이썬 코드를 구성하는 단위입니다. 모듈은 파이썬 코드를 담은 파일입니다. 모듈에는 함수, 클래스, 변수, 상수 등이 포함될 수 있습니다.
모듈은 코드를 구성하고, 코드의 재사용을 촉진하는 데 매우 중요합니다. 파이썬에는 기본 모듈과 사용자 정의 모듈이 있습니다. 기본 모듈은 파이썬 설치와 함께 제공되며, 사용자 정의 모듈은 사용자가 직접 작성하는 모듈입니다.
파이썬에서 모듈을 사용하려면 import문을 사용해야 합니다. import문은 다른 모듈에서 정의된 클래스, 함수 또는 변수를 현재 모듈에서 사용할 수 있게 해줍니다.
import math
print(math.pi) # 3.141592653589793
위의 예제에서 math 모듈을 import하여 math.pi를 사용했습니다.
또한 import문을 사용하여 모듈의 이름을 변경할 수도 있습니다. 이렇게 하면 모듈 이름이 너무 긴 경우 짧게 줄일 수 있습니다.
import math as m
print(m.pi) # 3.141592653589793
마지막으로, from문을 사용하여 모듈에서 특정 클래스, 함수 또는 변수만 가져올 수 있습니다.
from math import pi
print(pi) # 3.141592653589793
위의 예제에서 math 모듈에서 pi 변수만 가져와서 사용했습니다. 이렇게 하면 모듈 이름을 붙이지 않고 바로 해당 변수를 사용할 수 있습니다.
py_cache란??
__pycache__는 파이썬에서 모듈의 캐시 파일을 저장하는 디렉토리입니다. 즉, 파이썬이 모듈을 불러올 때 컴파일된 바이트 코드를 저장하는 디렉토리입니다.
파이썬 3부터는 모든 모듈이 컴파일된 바이트 코드를 사용하며, 이러한 바이트 코드는 모듈을 다음번에 실행할 때 더 빠르게 로드할 수 있습니다. 이러한 바이트 코드는 .pyc 파일에 저장되며, 이 파일은 __pycache__ 디렉토리에 저장됩니다.
__pycache__ 디렉토리는 모듈의 이름과 파이썬 버전에 따라 생성됩니다. 예를 들어, example.py 모듈의 바이트 코드를 저장하는 __pycache__ 디렉토리의 경로는 다음과 같습니다.
- 파이썬 3: __pycache__/example.cpython-38.pyc
- 파이썬 2: __pycache__/example.pyc
캐시 파일은 모듈이 변경될 때마다 자동으로 업데이트됩니다. 모듈이 변경되면 캐시 파일도 업데이트되므로, 새로운 변경 사항이 적용됩니다.
캐시 파일을 삭제해도 파이썬이 다시 생성합니다. 캐시 파일을 삭제하면 다음번에 모듈을 실행할 때 새로운 캐시 파일이 생성됩니다. 캐시 파일을 삭제하려면, 해당 모듈과 함께 생성된 __pycache__ 디렉토리를 삭제하면 됩니다.
Python에서 패키지는 모듈들을 묶어서 관리하기 위한 디렉토리 구조입니다. 패키지는 일반적으로 관련된 기능을 제공하는 모듈들을 그룹화하고, 네임스페이스를 관리하는 데 사용됩니다. 이는 파이썬에서 모듈과 모듈의 이름공간을 관리하는 방법 중 하나입니다.
패키지는 일반적으로 __init__.py 파일이 있는 디렉토리로 구성됩니다. __init__.py 파일은 해당 디렉토리가 패키지임을 나타내며, 패키지를 초기화하기 위한 코드를 포함할 수 있습니다.
예를 들어, mypackage 라는 패키지가 있다면, 다음과 같은 구조를 가지게 됩니다.
mypackage/
__init__.py
module1.py
module2.py
subpackage/
__init__.py
submodule1.py
submodule2.py
이 구조에서, mypackage는 패키지 이름이며, module1.py와 module2.py는 해당 패키지의 모듈입니다. subpackage는 mypackage의 하위 패키지이며, submodule1.py와 submodule2.py는 subpackage의 모듈입니다.
패키지는 파이썬에서 모듈을 불러오는 방법과 매우 유사하게 사용됩니다. 예를 들어, mypackage에서 module1.py를 불러오려면 다음과 같이 작성할 수 있습니다.
import mypackage.module1
또는 다음과 같이 축약해서 쓸 수도 있습니다.
from mypackage import module1
Python 가상환경(Virtual environment)은 프로젝트마다 독립적인 Python 환경을 생성할 수 있는 기능입니다. 이를 통해 하나의 시스템에서 여러 프로젝트를 개발하면서 필요한 라이브러리와 패키지를 각각의 프로젝트에 맞게 관리할 수 있습니다.
가상환경은 다음과 같은 장점을 가지고 있습니다.
- 여러 프로젝트를 동시에 개발할 때 각각의 프로젝트에서 사용하는 라이브러리 버전을 격리하여 관리할 수 있습니다.
- 시스템 전역에서 설치한 라이브러리와 패키지를 사용하는 것과는 별개로, 가상환경 내에서만 사용할 수 있는 라이브러리와 패키지를 설치하여 사용할 수 있습니다.
- 가상환경을 사용하면 라이브러리와 패키지의 의존성 관리가 용이해집니다.
conda 사용하기
conda는 Python 가상환경을 만들고 관리할 수 있는 패키지 관리 시스템입니다. 가상환경 생성, 패키지 설치, 업데이트, 삭제 등을 편리하게 처리할 수 있습니다.
아래는 conda를 사용한 가상환경 생성 및 사용 방법입니다.
conda 가상환경 생성
가상환경 생성 명령어는 다음과 같습니다. {env_name} 부분에 생성하고자 하는 가상환경의 이름을 입력합니다.
conda create --name {env_name} [python=X.X]
- python=X.X : 생성하려는 가상환경에 사용할 Python 버전을 지정할 수 있습니다.
conda 가상환경 활성화
가상환경 생성 후에는 활성화를 해야 해당 가상환경에서 작업할 수 있습니다.
conda activate {env_name}
conda 가상환경 비활성화
가상환경을 사용한 작업을 마치고 더 이상 해당 가상환경을 사용하지 않을 경우 비활성화합니다.
conda deactivate
conda 패키지 설치
conda 가상환경에서 필요한 패키지를 설치할 때는 다음과 같이 입력합니다.
conda install {package_name}
conda 패키지 업데이트
conda로 설치한 패키지를 업데이트할 때는 다음과 같이 입력합니다.
conda update {package_name}
conda 패키지 삭제
conda로 설치한 패키지를 삭제할 때는 다음과 같이 입력합니다.
conda remove {package_name}
conda 가상환경 삭제
conda로 생성한 가상환경을 삭제할 때는 다음과 같이 입력합니다.
conda remove --name {env_name} --all
'언어 공부 > Python' 카테고리의 다른 글
Data 종류, 정규식 (0) | 2023.03.07 |
---|---|
파일,예외처리, Log Handling (0) | 2023.03.07 |
파이썬에서의 객체 지향 프로그래밍 (0) | 2023.03.06 |
파이썬식 문법 + 함수 심화 개념 (0) | 2023.03.06 |
문자열과 함수 심화 개념 (0) | 2023.03.06 |