gtk4python 으로 LangChain활용하여 GUI 프로그램 개발

pacman -S mingw-w64-x86_64-python-pip
pacman -S mingw-w64-x86_64-python-dotenv
python -m venv venv
source venv/bin/activate
가상환경으로 진행

의존성 설치

awk '{print $1}' toinstall.txt > packages.txt
가상환경을 만들기 위해서 잘되는 환경에서 종속성 추출
xargs -a packages.txt pacman -S --needed
싸그리 다 설치
pip freeze > requirements.txt 
잘되는 환경에서 싸그리 다 종속성 알아내기
pip install -r requirements.txt
귀찮으니까 싸그리다 설치
pacman -S mingw-w64-ucrt-x86_64-rust



Queen - Don't Stop Me Now (Official Video)

아 종속성 챙기는 게 제일 귀찮아요

Village People - YMCA (OFFICIAL Music Video 1978)

전 앞으로도 의식의 흐름대로 노래를 포스팅 중간에 제가 추천하는 띵곡을 끼워 넣겠습니다.

Green Day - 21 Guns [Official Music Video]

langchain==0.3.21
langchain-chroma==0.2.2
langchain-community==0.3.20
langchain-core==0.3.45
langchain-openai==0.3.9

위는 저희가 설치해야 하는 것들입니다.

AJR - World's Smallest Violin (Official Video)
夜に駆ける
たぶん
群青

Aㅏ….

pacman -S mingw-w64-ucrt-x86_64-python-pandas

pandas 라이브러리가 없었던 것이 문제 였던거 같습니다.

Anamanaguchi - Miku ft. Hatsune Miku (Lyric Video)

저는 코딩이 성공할 거 같은 예감이 들면 이 곡을 듣습니다.

echo "mingw-w64-ucrt-x86_64-python-pandas 2.3.0-1" >> toinstall.txt

toinstall.txt 업데이트: 향후 재설치를 위해 추가합니다.

pacman -S mingw-w64-ucrt-x86_64-cython mingw-w64-ucrt-x86_64-numpy mingw-w64-ucrt-x86_64-python-numpy mingw-w64-ucrt-x86_64-msys2-runtime

cython: pandas의 Cython 파일을 컴파일.

numpy: pandas의 필수 의존성.
msys2-runtime: POSIX 호환 레이어 제공(예: unistd.h 대체).

YouTube player
pacman -S mingw-w64-ucrt-x86_64-ninja

닌자를 잡아야 겠죠?

Aqua - Barbie Girl [METAL COVER] (Little V)

유쾌하게 갑시다.

점심 나가서 먹을거 같아요

紡ぐ / とた -  Tsumugu / Tota

conda init bash
Conda 쉘 초기화 (conda init bash):
MINGW64 쉘에서 conda activate 명령어를 사용하려면, Conda가 해당 쉘에서 작동하도록 한 번 초기화해야 합니다.
tuki.さんメドレー
當山みれい 『願い~あの頃のキミへ~』
YouTube player
export GTK_THEME=WhiteSur-Light
echo "export GTK_THEME=WhiteSur-Light" >> ~/.bashrc
source ~/.bashrc





위의 명령어는 msys2 mingw64 shell을 시작시에 gtk4에 관한 테마자체를 whitesur-light로 바뀌게 해 줍니다.

Anaconda와 MSYS2에서 PATH 설정 가이드

문제

Anaconda 환경에서 export PATH="/A/msys2/ucrt64/bin:$PATH" 설정이 재부팅 또는 환경 재활성화 시 적용되지 않음. PyGObject 사용 시 DLL 로드 오류 발생.

원인

Anaconda 환경 활성화(conda activate) 시 PATH가 재설정되어 MSYS2 bin 디렉터리(/A/msys2/ucrt64/bin)가 제외됨. .bashrc에 설정 추가해도 conda가 우선순위로 PATH를 덮어씌움.

해결 방법

1. 매번 수동 설정

Anaconda 환경 활성화 후 PATH 추가:

conda activate gtk_test
export PATH="/A/msys2/ucrt64/bin:$PATH"
  • 단점: 세션마다 반복 필요.

2. conda 환경별 자동 설정 (권장)

conda 환경의 활성화 스크립트에 PATH 설정 추가:

  1. gtk_test 환경의 활성화 디렉터리 확인:C:\Users\<username>\anaconda3\envs\gtk_test\etc\conda\activate.d
  2. 디렉터리가 없으면 생성:mkdir -p C:\Users\<username>\anaconda3\envs\gtk_test\etc\conda\activate.d
  3. activate.denv_vars.sh 파일 생성:echo 'export PATH="/A/msys2/ucrt64/bin:$PATH"' > C:\Users\<username>\anaconda3\envs\gtk_test\etc\conda\activate.d\env_vars.sh
  4. 환경 재활성화:conda deactivate conda activate gtk_test
  • 장점: 환경 활성화 시 PATH 자동 적용, 재부팅에도 유지.

추가 확인

  • PyGObject 설치: conda install -c conda-forge pygobject
  • MSYS2 bin 경로 확인: /A/msys2/ucrt64/bin이 올바른지 확인.
  • PATH 확인: echo $PATH로 MSYS2 bin 포함 여부 점검.

참고

이거 안되서 몇시간 동안 개고생 했어요

https://m.blog.naver.com/sssang97/221745774489

아 짜증나서 vcpkg로 빌드해볼까?

아 현재시간 새벽 4시 2025년 6월 24일

https://github.com/wingtk/gvsbuild?tab=readme-ov-file

위의 gvsbuild를 쓰면 한방에 된다!!!!!!