IT

파이썬 프로젝트 생성

carnival6103 2025. 2. 4. 20:39
반응형

파이썬 프로젝트를 생성하는 과정은 비교적 간단하지만, 몇 가지 중요한 단계를 거쳐야 합니다. 여기서는 가상 환경 설정, 프로젝트 구조화, 기본 파일 생성 등을 포함한 예시를 통해 상세히 설명하겠습니다.

1. 프로젝트 폴더 생성

먼저, 프로젝트를 저장할 폴더를 생성합니다. 예를 들어, "mypythonproject"라는 폴더를 생성합니다.

mkdir my_python_project
cd my_python_project

2. 가상 환경 설정

가상 환경은 프로젝트별로 독립적인 파이썬 패키지를 관리할 수 있게 해줍니다. venv 모듈을 사용하여 가상 환경을 생성합니다.

python -m venv venv

이 명령어는 "venv"라는 이름의 가상 환경을 생성합니다. 생성된 가상 환경을 활성화하려면 다음 명령어를 사용합니다:

  • Windows:
  .\venv\Scripts\activate
  • macOS/Linux:
  source venv/bin/activate

3. 필수 패키지 설치

가상 환경이 활성화된 상태에서 필요한 패키지를 설치합니다. 예를 들어, requests 패키지를 설치해 보겠습니다.

pip install requests

4. 프로젝트 구조화

프로젝트의 기본 구조를 설정합니다. 일반적으로 다음과 같은 디렉토리 구조를 사용합니다:

my_python_project/
│
├── venv/
├── src/
│   └── main.py
├── tests/
│   └── test_main.py
├── .gitignore
└── README.md
  • src/: 소스 코드가 위치하는 디렉토리입니다.
  • tests/: 테스트 코드가 위치하는 디렉토리입니다.
  • .gitignore: Git에서 무시할 파일 및 디렉토리를 지정하는 파일입니다.
  • README.md: 프로젝트에 대한 설명을 담은 파일입니다.

5. 기본 파일 생성

이제 기본 파일을 생성해 보겠습니다.

  • main.py:
  def main():
      print("Hello, World!")

  if __name__ == "__main__":
      main()
  • test_main.py:
  import unittest
  from src.main import main

  class TestMain(unittest.TestCase):
      def test_main(self):
          self.assertEqual(main(), None)

  if __name__ == "__main__":
      unittest.main()
  • .gitignore:
  venv/
  __pycache__/
  *.pyc
  • README.md:
  # My Python Project

  This is a simple Python project.

  ## Setup

  1. Create a virtual environment:
     ```bash
     python -m venv venv
     ```

  2. Activate the virtual environment:
     - **Windows**: `.\venv\Scripts\activate`
     - **macOS/Linux**: `source venv/bin/activate`

  3. Install the required packages:
     ```bash
     pip install -r requirements.txt
     ```

  ## Running the Project

bash python src/main.py

  ## Running Tests

bash python -m unittest discover -s tests

  ```

### 6. Git 초기화 및 첫 커밋
프로젝트를 Git으로 관리하려면 Git을 초기화하고 첫 커밋을 만듭니다.

bash git init git add . git commit -m "Initial commit" ```

이제 기본적인 파이썬 프로젝트가 생성되었습니다. 필요에 따라 추가적인 패키지나 설정을 추가할 수 있습니다. 

반응형