소프트웨어 공학 과제를 하는 중 모듈화를 시키는 부분에서 어려움을 조금 느꼈다.
처음엔 모든 파일이 한 곳에 몰려있었다. 이것을 service, domain, controller 폴더로 배치시키는 작업을 하였다.
여기서 필수적으로 해야할 것은, 각 폴더마다 __init__.py파일을 만들어주는 것이다. 이것을 해야, 인터프리터가 해당 폴더를 패키지라고 인식한다.
__init__.py
해당 폴더를 패키지로 인식시켜주는 파일이다. 해당 패키지의 파일이 어디선가 import가 되면 __init__.py 파일이 실행된다.
domain패키지의 __init__.py파일이다.
from domain import MapInfo를 실행한다면, 위 파일이 실행된다.
다음엔 https://github.com/BillMills/python-package-example/tree/master 이 깃허브를 참고해서 예제를 만들어보면 좋을 것 같다.
추가로 알면 좋은 것은 setup.py 파일을 만드는 것이다.
# setup.py
from setuptools import setup, find_packages
setup(
name='your_package_name',
version='0.1',
packages=find_packages(),
install_requires=[
'numpy', # NumPy 라이브러리를 추가
# 다른 의존하는 라이브러리가 있다면 여기에 추가
],
entry_points={
'console_scripts': [
'your_script=your_package_name.module_name:main',
# 여기에 패키지로 실행 가능한 스크립트를 명시
# 'your_script'은 실행할 명령어의 이름
# 'your_package_name.module_name:main'은 실행할 함수 또는 메인 모듈을 지정
],
},
)
이 파일이 있으면 pip install . 명령어를 실행시켜 내가 만든 패키지를 설치할 수 있다.
'개발' 카테고리의 다른 글
post api 간단하게 테스트 (1) | 2023.11.24 |
---|---|
Facade pattern (1) | 2023.11.23 |
[챗봇] 카카오톡 챗봇 만들기 (0) | 2023.09.21 |
[pytest] 파이썬 api 테스트 (0) | 2023.08.30 |
[python] 정규표현식 (0) | 2023.08.28 |