윈도우에서 Python Embeddable 사용하기
2019.10.01 23:00
Portable 생성용으로 임베더블에 Tkinter 추가까지 포함해서 저장소를 만들었음
Tk inter는 msi 압축풀어서 넣게끔 했고, anaconda는 설치파일이라서 사용 포기함. 어차피 pip만 쓰면 되고, virtualenv는 쓰는데 문제 없다.
처음 pip 설치는 21.x 이후로 wheel로 설치가 안되서 어쩔수 없이 극혐하는 get-pip.py 써서 설치하게 함
오리지널 주피터노트북/랩보다 vscode의 노트북 환경이 좋아서 vscode 포터블, git도 갖다붙임
edp1096/my-py-set: Python embeddable download scripts (github.com)
사용 목적: 파이썬 설치(?)폴더를 간소하게 유지하고 싶다. 쓰지도 않는 모듈 때문에 내 하드를 더럽히기 싫다. anaconda, virtualenv도 싫다.
파이썬 3.7 기준 (이긴 한데 python37._pth 만 제외하면 다른 버전도 똑같이 하면 될 것 같다.)
- https://www.python.org/downloads/windows/ 페이지로 가서 원하는 버전의 하위항목 중 Download Windows x86-64 embeddable zip file 링크를 클릭하여 파일을 다운로드
- 작업 또는 실행용 workspace root를 따로 둔다. 따라서 아래와 같이...
- workspace 하위에 python3라는 이름으로 상기 파일의 압축을 해제한다.
- python_sh.cmd 파일을 아래와 같이 만든다.
cd python3
set path=%cd%;%cd%\Scripts;%path%
set PYTHONPATH="%cd%;%cd%\DLLs;%cd%\lib;%cd%\lib\plat-win;%cd%\lib\site-packages"
cd ..
set PIP_NO_CACHE_DIR=off
REM set PIP_TARGET=%cd%\pip\cache
- python37._pth 파일을 아래와 같이 만들고, python3 폴더에 덮어 씌운다.
python37.zip
.
.\DLLs
.\lib
.\lib\plat-win
.\lib\site-packages
# Uncomment to run site.main() automatically
#import site
- Tk는 답이 없어서 Python 3.7.3 설치판에서 뽑아냄 (첨부에 파일 3개)
- 첨부된 파일들을 압축 풀고나서 python3 폴더에 집어넣는다.
- workspace에서 명령프롬프트 실행
- python_sh.cmd 실행 - 아래는 모두 여기서 지정된 환경변수 하에서 진행한다.
- 아래와 같이 pip 설치 (Curl 은 https://curl.haxx.se/windows 이거 사용하면 됨)
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
- AppData에 흔적을 남기지 않으려면 pip 설치 후 아래와 같이 정리
rmdir %appdata%\..\Local\pip /q/s
- 이후 사용은 매번 명령프롬프트 실행 > python_sh.cmd 실행 > 파이썬 코드 실행 또는 관련 작업 수행 이렇게 하면 된다.
뒤늦게 확인한 건데 이후에 신규로 설치되는 pip 같은 실행파일들에는 또 절대경로가 박혀있다.
https://enjoytools.net/xe/board_PZRP31/4816 에서 얘기한 헛짓을 또 해야된다.
짜증나네.
스크립트 만들어서 저장소에 추가함
끝.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
» | 윈도우에서 Python Embeddable 사용하기 | 꿈돌이 | 2019.10.01 | 1668 |
14 | pywin32 설치/적용 | 꿈돌이 | 2018.02.21 | 3734 |
13 | Kivy 테마 -> Atlas 사용 | 꿈돌이 | 2018.02.03 | 4617 |
12 | Kivy 예제 | 꿈돌이 | 2018.02.03 | 3683 |
11 | Kivy와 Flask를 Multiprocess로 돌리기 | 꿈돌이 | 2018.02.03 | 4716 |
10 | 파이썬 시스템 시간 설정 | 꿈돌이 | 2018.01.31 | 4022 |
9 | Kivy ScreenManager 화면 전환시 진입 및 종료 | 꿈돌이 | 2018.01.31 | 866 |
8 | Kivy kvlang에서 Label 정렬 | 꿈돌이 | 2018.01.31 | 6019 |
7 |
파이썬 Kivy로 그래프 그리기 간단 예제
![]() | 꿈돌이 | 2018.01.29 | 2560 |
6 | 윈도우 파이썬(< 버전 3.6)으로 print 출력시 raw write 오류 | 꿈돌이 | 2018.01.24 | 1400 |
5 | 파이썬으로 시리얼통신을 위한 가변데이터 만들기 | 꿈돌이 | 2018.01.17 | 3234 |
4 |
파이썬 Tk와 pyserial로 시리얼포트 송수신
![]() | 꿈돌이 | 2017.06.09 | 26617 |
3 |
파이썬 Kivy와 pyserial로 시리얼포트 송수신
![]() | 꿈돌이 | 2017.06.09 | 2784 |
2 | 라즈베리파이와 kivy로 작업을 처음 시작할 때 참고 | 꿈돌이 | 2017.06.08 | 1478 |
1 |
파이썬 폴더 변경시 윈도우 환경변수
![]() | 꿈돌이 | 2017.03.23 | 42229 |