Python : pyenv-windows 와 Jupyterlab 환경

pyenv-windows 와 Jupyterlab 환경

pyenv-windows 설치

파워셀에서 설치 스크립트를 실행해서 설치하는 과정으로 정리되어 있다.

준비

  1. 테스트
    • Windows 10 Home 21H1 / 19043.928
    • Microsoft Visual C++ 2015-2019 Redistribution
    • pip version 22.1 혹은 22.0 상태
  2. 주의
    Windows 최신 (Windows 11 등)

    pip 22.3 이상인 경우 Microsoft Visual C++ Build Tools 를 설치해야 한다.

    이어지는 Microsoft C++ Build Tools 설치 참조해 설치한다.

PowerShell 스크립트 실행 모드 확인

외부 스크립을 실행할 수 있기 위해서는 ExecutionPolicy가 unrestricted 상태여야 한다.

PowerShell을 관리자 모드로 실행해

다음과 같이 입력

1
2
> ExecutionPolicy      <-- 현재 상태 확인
Restricted <-- 모든 스크립트 막은 상태

모드 변경을 위해 다음 명령 실행

1
> Set-ExecutionPolicy Unrestricted

모드 변경 확인

1
2
> ExecutionPolicy      <-- 현재 상태 확인
Unrestricted <-- 모든 스크립트 허용 상태.

모드가 Unrestricted 상태에서 pyenv-win 을 설치한다.


pyenv-win 설치

pyenv-win 설치 항목에서 파워쉘을 통해 스크립트 실행을 통해 설치한다. 모든 방법들은 윈도우 홈 디렉토리의 .pyenv/ 폴더 아래에 실행 스크립을 위치한다.

인스톨러

다음 파워쉘 스크립트를 파워쉘에서 실행한다.

1
2
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

만약 Unauthorized Script 에러가 나면 PowerShell 스크립트 실행 모드 확인 같이 Unrestricted 모드로 설정해야 한다.

실행하면 %USERPROFILE%/.pyenv 아래에 관련 파일을 다운로드 한다.

설치 완료후 파워쉘에서 pyenv 명령을 실행하면 아래 같이 도움말 화면이 나오면 성공이다.

Microsoft C++ Build Tools 설치

pip versions 22.3 이상 업그레이드 혹은 설치를 하면 Redistribution 패키지 설치로는 해결이 안된다.

  • pip v22.1 까지는 Microsoft Visual C++ 2015-2019 Redistribution 로도 충분하다.

다음 사이트에서 build tools 을 다운로드 받아 설치한다.

설치시 아래 옵션을 선택해 설치한다.

Python 배포본 설치

이제 pyenv 를 사용해서 Python 3.10, Python 3.9 버전을 설치해 보자.

설치 가능한 버전은 pyenv install -l 명령으로 확인 가능하다. 아래 같이 파워셀에서 필요한 버전을 필터링해 확인해 보자.

1
2
3
4
5
6
7
8
PS > pyenv install -l | findstr 3.9
.
.
3.9.11
3.9.12-win32
3.9.12
3.9.13-win32
3.9.13

원하는 버전의 버전 번호를 입력해 설치한다.

윈도우 버전의 배포본이 pyenv 의 가상환경 폴더 밑에 설치 된다.

이어서 바로 Python 3.9 버전도 설치해 보자.

윈도우 버전 배포본 설치가 진행된다.

pyenv 에서 설치한 Python 3.10, Python 3.9 를 설치 확인을 해보자

Jupyter-Lab 설치

3.9 버전을 글로벌로 지정했다.

1
PS C:\Users\andro> pyenv global 3.9.12

pyenv 가능한 버전 확인

1
2
3
PS C:\Users\andro> pyenv versions
3.10.4
*3.9.12

현재 파워쉘의 파이썬 버전을 3.10 으로 지정했다.

1
2
3
PS C:\Users\andro> pyenv shell 3.10.4
PS C:\Users\andro> python -V
Python 3.10.4

venv 모듈로 가상환경을 생성하고 활성화 한다.

1
2
3
PS C:\Users\andro> python -m venv .venv/jupyter_p310
PS C:\Users\andro>.\.venv\jupyter_p310\Scripts\activate
(jupyter_p310) PS C:\Users\andro>

jupyter-lab 설치

1
2
(jupyter_p310) PS C:\Users\andro> pip install jupyterlab
Collecting jupyterlab

Jupyter-lab에서 사용할 notebook 공간 생성

1
(jupyter_p310) PS C:\Users\andro> mkdir jupyter-work

jupyter-lab 실행

1
2
3
4
5
6
7
8
9
10
11
(jupyter_p310) PS C:\Users\andro> jupyter-lab --no-browser .\jupyter-work\
...
[I 2022-05-24 03:27:03.847 ServerApp] Serving notebooks from local directory: C:\Users\andro\jupyter-work
[I 2022-05-24 03:27:03.847 ServerApp] Jupyter Server 1.17.0 is running at:
...
To access the server, open this file in a browser:
file:///C:/Users/andro/AppData/Roaming/jupyter/runtime/jpserver-4664-open.html
Or copy and paste one of these URLs:
http://localhost:8888/lab?token=866bdd9bed841f4dafc5c431a7ffcd4b01f516e4583f38d7
or http://127.0.0.1:8888/lab?token=866bdd9bed841f4dafc5c431a7ffcd4b01f516e4583f38d7
[W 2022-05-24 03:28:04.189 LabApp] Could not determine jupyterlab build status without nodejs