1.9 PyCharm 프로젝트 공유

0. 학습 목표
지난 단계 Python 환경설정의 마지막 12. 프로젝트 공유와 협업 구조 에서는 Python 프로젝트를 공유하고 실행하기 위한 전체 구조를 이론 중심으로 이해했습니다.
12. 프로젝트 공유와 협업 구조
0. 학습 목표더보기이번 단계에서는 Python 프로젝트를 다른 사람과 공유하고 실행할 때 필요한 전체 흐름을 학습합니다. 이 단계는 직접 명령어를 입력하며 따라 하는 실습이 아니라,Python 프로젝
basiclike.tistory.com
이번 단계에서는 그 흐름을 PyCharm IDE에서 실제 화면을 기준으로 확장하여 실습합니다.
GitHub에서 프로젝트를 Clone하고, 프로젝트 전용 가상환경을 설정한 뒤, requirements.txt를 기준으로 패키지를 설치하고, Flask와 PySide6 예제를 실행해 봅니다.
핵심은 PyCharm 버튼 사용법을 외우는 것이 아니라, GitHub 저장소, 프로젝트 폴더, Python Interpreter, 가상환경, requirements.txt, 실행 파일의 관계를 이해하는 것입니다.
1. 일반적인 Python 프로젝트 공유 흐름
1. 요약
Python 프로젝트를 다른 사람과 공유할 때 가장 일반적인 흐름은
- (Online) GitHub 에서 프로젝트를
- (Offline) 작업 할 PC 로 가져온 뒤,
- Python 버전에 맞춰 가상환경을 만들고,
- requirements.txt를 기준으로 패키지를 설치하는 방식입니다.
여기서 중요한 점은 가상환경 폴더를 직접 공유하지 않는 것입니다.
프로젝트 소스코드는 GitHub로 공유하고, 필요한 패키지 목록은 requirements.txt로 공유합니다.
2. 기본 흐름

전체 흐름을 단계별로 정리하면 다음과 같습니다.
[GitHub 저장소]
│
▼ 1. git clone <저장소_주소>
[내 컴퓨터: 프로젝트 폴더]
│
▼ 2. python -m venv .venv
[독립된 가상환경]
│
▼ 3. source .venv/bin/activate
[가상환경 활성화 완료]
│
▼ 4. python -m pip install -r requirements.txt
[패키지 설치 완료]
│
▼ 5. python main.py
[프로젝트 실행]
즉, 프로젝트를 복사한 뒤 바로 실행하는 것이 아니라, 먼저 프로젝트 전용 가상환경을 새로 만들고, 그 안에 필요한 패키지를 다시 설치한 다음 실행합니다.
2. S/W 프로젝트 협업 구조
2.1 구조
S/W 프로젝트는 보통 한 사람이 혼자 작업하는 것이 아니라, 여러 개발자가 함께 작업합니다.
이때 각 개발자의 컴퓨터에 있는 작업물을 서로 직접 주고받는 방식은 관리가 어렵습니다.
그래서 중간에 GitHub 클라우드 저장소를 두고 작업물을 공유합니다.
전체 구조는 크게 다음 세 부분으로 나누어 이해할 수 있습니다.
A 개발자 작업
A 개발자 컴퓨터의 작업물
GitHub 클라우드
공동 작업물을 보관하는 저장소
B 개발자 작업
B 개발자 컴퓨터의 작업물
2.2 흐름
GitHub는 두 개발자 사이에서 작업물을 보관하고 공유하는 기준점 역할을 합니다.

| 시간 | 흐름 | 설명 |
|---|---|---|
| 09:00 | A 개발자 → GitHub → B 개발자 | A 개발자가 자신의 작업물을 GitHub 클라우드에 올립니다. |
| 10:00 | A 개발자 → GitHub → B 개발자 | B 개발자가 GitHub 클라우드에서 작업물을 가져옵니다. |
| 11:00 | A 개발자 → GitHub → B 개발자 | A 개발자가 수정한 작업물을 다시 GitHub 클라우드에 올립니다. |
| 12:00 | A 개발자 → GitHub ↔ B 개발자 | B 개발자는 자신의 작업물을 갱신 전 GitHub의 최신 변경사항을 확인합니다. |
예를 들어, 11:00에 A 개발자가 수정한 작업물을 GitHub에 올리면 GitHub 클라우드는 최신 상태가 됩니다.
하지만 B 개발자의 컴퓨터는 아직 이전 상태일 수 있습니다.
그래서 12:00 B 개발자는 자신의 작업물을 올리기 전에 먼저 GitHub에 새로운 변경사항이 있는지 확인해야 합니다.
중요한 점
GitHub에 새로운 작업물이 올라갔다고 해서 모든 개발자 컴퓨터가 자동으로 바뀌는 것은 아닙니다.
3. 예제1: GitHub 프로젝트 Clone 후 Flask 서버 실행
3.1 예제 목적
이 예제의 목적은
- GitHub에 올라와 있는 Python 프로젝트를
- PyCharm IDE에서 가져오고,
- 환경설정 후,
- 이를 실행하는
전체 흐름을 이해하는 것입니다.
이번 예제에서는 간단한 Flask 기반의 Python 웹 서버를 구현해봅니다.
이미 GitHub에 올라와 있는 간단한 Flask 웹 서버 프로젝트를 가져와 실행하고, 웹 브라우저로 접속하여 결과를 확인합니다.
앞의 2. S/W 프로젝트 협업 구조에서는 GitHub 클라우드 저장소를 기준으로 작업물을 공유하는 구조를 살펴보았습니다.
이번 예제는 위 흐름 중에서 두 번째 단계를 실습하는 것으로 생각하면 됩니다.
| 시간 | 흐름 | 설명 |
| 10:00 | A 개발자 → GitHub → B 개발자 | B 개발자가 GitHub 클라우드에서 작업물을 가져옵니다. |
즉, 누군가가 이미 GitHub 클라우드 저장소에 Python 프로젝트를 올려 둔 상태라고 가정합니다.
그리고 우리는 B 개발자의 입장에서 PyCharm을 사용해 그 프로젝트를 내 컴퓨터로 가져와 실행해 봅니다.
3.2 전체 흐름
PyCharm IDE에서 GitHub 프로젝트를 가져와 실행하는 전체 흐름은 다음과 같습니다.
GitHub 저장소
↓
PyCharm에서 Clone
↓
내 컴퓨터에 프로젝트 폴더 생성
↓
Python Interpreter / 가상환경 설정
↓
requirements.txt 기준 패키지 설치
↓
run.py 실행
↓
브라우저에서 Flask 서버 접속 확인
이 흐름은 터미널 명령어로 실행할 때와 본질적으로 같습니다.
다만 PyCharm IDE를 사용하면 GitHub 프로젝트를 가져오고, 가상환경을 설정하고, Python 파일을 실행하는 과정을 화면에서 진행할 수 있습니다.
3.3 실습
1단계: PyCharm에서 VCS 창 열기
이미 PyCharm 프로젝트가 열려 있는 상태라면, 다음 메뉴를 선택합니다.



이미 PyCharm 프로젝트가 열려 있는 상태라면 다음 메뉴를 사용할 수도 있습니다.
File → Project from Version Control

2단계: VCS 창 열기
URL 입력 칸에 GitHub 저장소 주소를 입력합니다. Directory 항목에는 프로젝트를 저장할 폴더 위치를 지정됩니다.
https://github.com/ubc/flask-sample-app.git

그다음 Clone 버튼을 클릭합니다. 이 단계가 끝나면 GitHub 클라우드 저장소에 있던 프로젝트 파일이 내 컴퓨터로 복사되고, PyCharm에서 해당 프로젝트가 열립니다.
3단계: Clone 후 프로젝트 구조 확인
Clone이 완료되면 PyCharm 왼쪽 Project 창에서 프로젝트 구조를 확인합니다.

여기서 특히 확인해야 할 파일은 다음 두 가지입니다.
| 파일 | 의미 |
| requirements.txt | 이 프로젝트를 실행하는 데 필요한 패키지 목록입니다. |
| run.py | Flask 서버를 실행하는 Python 파일입니다. |
반드시 이해해야 할 점은 다음과 같습니다.
Clone은 프로젝트 파일을 가져오는 단계입니다.
하지만 Python 프로젝트는 파일만 가져왔다고 바로 실행되지 않습니다.
실행하려면 프로젝트에 맞는 Python 가상환경과 패키지 설치가 필요합니다.
4단계: Python Interpreter / 가상환경 설정
Clone 이후에는 이 프로젝트에서 사용할 Python Interpreter를 설정하여 가상환경을 설정합니다.



또는 PyCharm 화면 오른쪽 아래에 표시되는 Python Interpreter 영역을 클릭해서 새 Interpreter를 추가할 수도 있습니다.
권장 설정은 다음과 같습니다.
| 항목 | 권장 설정 |
| Environment | New |
| Type | Virtualenv |
| Location | 프로젝트 폴더 안의 .venv |
| Base interpreter | 설치된 Python 3.x |
가상환경이 정상적으로 생성되면 프로젝트 폴더 안에 .venv 폴더가 만들어집니다.
이 .venv 폴더는 이 프로젝트만을 위한 독립적인 Python 실행 환경입니다.
5단계: requirements.txt 패키지 설치
가상환경을 만든 뒤에는 requirements.txt를 기준으로 필요한 패키지를 설치합니다.
PyCharm 하단 Terminal에서 다음 명령을 실행합니다. (반드시 가상환경 활성화된 상태에서 실행합니다.)
python -m pip install -r requirements.txt


6단계: run.py 실행
패키지 설치가 끝나면 run.py 파일을 실행합니다.
PyCharm 왼쪽 Project 창에서 run.py 파일을 찾은 뒤, 마우스 오른쪽 버튼을 클릭합니다.

정상적으로 실행되면 PyCharm 실행창에 다음과 비슷한 메시지가 출력됩니다.

여기서 중요한 부분은 다음 문장입니다.
Running on http://127.0.0.1:5000
이 메시지가 보이면 Flask 서버가 정상적으로 실행된 상태입니다.
7단계: 브라우저에서 접속 확인
Flask 서버가 실행 중인 상태에서 브라우저 주소창에 다음 주소를 입력합니다.
http://127.0.0.1:5000
http://localhost:5000

브라우저에서 접속하면 PyCharm 실행창에 다음과 같은 접속 로그가 추가될 수 있습니다.

이 로그가 보이면 브라우저 요청이 Flask 서버까지 정상적으로 도착한 것입니다.
3.4 정리
이번 예제에서는 B 개발자의 입장에서 GitHub 클라우드 저장소에 올라와 있는 Python 프로젝트를 PyCharm으로 가져와 실행해 보았습니다.
중요한 흐름은 다음과 같습니다.
GitHub 저장소에서 Clone
→ 내 컴퓨터에 프로젝트 파일 생성
→ 프로젝트 전용 가상환경 설정
→ requirements.txt 기준 패키지 설치
→ run.py 실행
→ 브라우저에서 Flask 서버 접속 확인
4. 예제2: GitHub 프로젝트 Clone 후 PySide6 GUI 실행
4.1 예제 목적
이 예제의 목적은
- GitHub에 올라와 있는 Python GUI 프로젝트를
- PyCharm IDE에서 가져오고,
- 가상환경을 설정한 뒤,
- PySide6 예제 파일을 실행하는
전체 흐름을 이해하는 것입니다.
앞의 예제1에서는 Flask 기반의 Python 웹 서버 프로젝트를 실행했습니다.
이번 예제에서는 PySide6 기반의 Python GUI 프로그램을 실행해 봅니다.
즉, 이번에는 웹 브라우저로 접속하는 방식이 아니라, Python 파일을 실행했을 때 데스크톱 GUI 창이 화면에 나타나는지 확인합니다.
앞의 2. S/W 프로젝트 협업 구조에서는 GitHub 클라우드 저장소를 기준으로 작업물을 공유하는 구조를 살펴보았습니다.
이번 예제도 위 흐름 중에서 두 번째 단계를 실습하는 것으로 생각하면 됩니다.
| 시간 | 흐름 | 설명 |
| 10:00 | A 개발자 → GitHub → B 개발자 | B 개발자가 GitHub 클라우드에서 작업물을 가져옵니다. |
즉, 누군가가 이미 GitHub 클라우드 저장소에 PySide6 예제 프로젝트를 올려 둔 상태라고 가정합니다.
그리고 우리는 B 개발자의 입장에서 PyCharm을 사용해 그 프로젝트를 내 컴퓨터로 가져와 실행해 봅니다.
4.2 전체 흐름
PyCharm IDE에서 GitHub PySide6 프로젝트를 가져와 실행하는 전체 흐름은 다음과 같습니다.
GitHub 저장소
↓
PyCharm에서 Clone
↓
내 컴퓨터에 프로젝트 폴더 생성
↓
Python Interpreter / 가상환경 설정
↓
requirements.txt 기준 패키지 설치
↓
PySide6 예제 파일 실행
↓
GUI 창 실행 확인
이 흐름은 예제1의 Flask 프로젝트 실행 흐름과 거의 같습니다.
차이점은 실행 결과를 확인하는 방식입니다.
| 구분 | Flask 예제 | PySide6 예제 |
| 프로그램 종류 | 웹 서버 | 데스크톱 GUI 프로그램 |
| 실행 파일 | run.py | 01_simple_example.py |
| 결과 확인 | 브라우저 접속 | GUI 창 확인 |
정리하면, 프로젝트 종류가 달라져도 기본 흐름은 동일합니다.
Clone
→ 가상환경 설정
→ 패키지 설치
→ 실행 파일 실행
→ 실행 결과 확인
4.3 실습
1단계: PyCharm에서 VCS 창 열기
먼저 PyCharm을 실행하고, 다음 메뉴를 선택합니다.
File → Project from Version Control

2단계: GitHub 저장소 주소 입력
URL 입력 칸에 GitHub 저장소 주소를 입력합니다.
https://github.com/Erriez/pyside6-getting-started.git

Directory 항목에는 프로젝트를 저장할 폴더 위치를 지정합니다. 그다음 Clone 버튼을 클릭합니다.
이 단계가 끝나면 GitHub 클라우드 저장소에 있던 예제 파일이 내 컴퓨터로 복사되고, PyCharm에서 프로젝트가 열립니다.
3단계: Clone 후 프로젝트 구조 확인
Clone이 완료되면 PyCharm 왼쪽 Project 창에서 프로젝트 구조를 확인합니다.

이 프로젝트는 하나의 실행 파일만 있는 프로젝트가 아니라, 여러 PySide6 예제 파일을 모아 둔 예제 모음 프로젝트입니다.
4단계: Python Interpreter / 가상환경 설정
Clone 이후에는 이 프로젝트에서 사용할 Python Interpreter를 설정하여 가상환경을 만듭니다.


이 .venv 폴더는 이 프로젝트만을 위한 독립적인 Python 실행 환경입니다.
5단계: requirements.txt 패키지 설치
가상환경을 만든 뒤에는 requirements.txt를 기준으로 필요한 패키지를 설치합니다.
PyCharm 하단 Terminal에서 다음 명령을 실행합니다. (반드시 가상환경이 활성화된 상태에서 실행해야 합니다.)
python -m pip install -r requirements.txt

터미널 앞에 다음과 같이 (.venv) 표시가 보이면 가상환경이 활성화된 상태입니다.

PySide6는 GUI 프레임워크이기 때문에 설치 시간이 조금 걸릴 수 있습니다.
설치가 완료되면 현재 가상환경 안에서 PySide6 예제를 실행할 준비가 된 것입니다.
6단계: PySide6 예제 파일 실행
패키지 설치가 끝나면 PyCharm 왼쪽 Project 창에서 가장 기본 예제 파일을 실행합니다.
01_gettings_started/01_simple_example.py


정상적으로 실행되면 웹 브라우저가 열리는 것이 아니라, PySide6로 만든 작은 GUI 창이 화면에 나타납니다.
4.4 정리
이번 예제에서는 B 개발자의 입장에서 GitHub 클라우드 저장소에 올라와 있는 PySide6 예제 프로젝트를 PyCharm으로 가져와 실행해 보았습니다.
중요한 흐름은 다음과 같습니다.
GitHub 저장소에서 Clone
→ 내 컴퓨터에 프로젝트 파일 생성
→ 프로젝트 전용 가상환경 설정
→ requirements.txt 기준 패키지 설치
→ PySide6 예제 파일 실행
→ GUI 창 실행 확인