(llm311) dongsik@dongsikleeui-MacBookPro ~ % cd /Volumes && ll
total 544
drwxr-xr-x   6 root     wheel     192 Sep  5 07:43 .
drwxr-xr-x  20 root     wheel     640 Aug  4 19:31 ..
drwxr-xr-x@  7 dongsik  staff     306 Sep  2 00:58 DBeaver Community
lrwxr-xr-x   1 root     wheel       1 Sep  2 09:31 Macintosh HD -> /
drwx------   1 dongsik  staff   16384 Aug 31 17:54 bpifs
drwx------   1 dongsik  staff  262144 Jan  1  1970 gabriel
(llm311) dongsik@dongsikleeui-MacBookPro /Volumes % pwd
/Volumes

 

시리즈 목록

윈도우(windows) WSL Ubuntu에 virtualenv 설치 및 vscode 연동
윈도우(windows) WSL Ubuntu에 pyenv 설치
윈도우(windows) WSL Ubuntu에 도커(Docker) 설치
윈도우(windows) WSL에 Ubuntu 20.04 LTS 추가 설치
윈도우(windows) WSL 명령어
윈도우(windows) WSL 설치 및 Ubuntu 구동

 

virtualenv 설치 

apt를 이용한 설치

sudo apt install python3-virtualenv

gabriel@NB-15052600:~$ sudo apt install python3-virtualenv
[sudo] password for gabriel:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  javascript-common libjs-jquery libjs-sphinxdoc libjs-underscore libpython3-dev libpython3.10-dev
  python3-dev python3-distlib python3-distutils python3-filelock python3-lib2to3 python3-pip python3-pip-whl
  python3-platformdirs python3-setuptools python3-setuptools-whl python3-wheel python3-wheel-whl
  python3.10-dev
Suggested packages:
  apache2 | lighttpd | httpd python-setuptools-doc python2-pip-whl python2-setuptools-whl
The following NEW packages will be installed:
  javascript-common libjs-jquery libjs-sphinxdoc libjs-underscore libpython3-dev libpython3.10-dev
  python3-dev python3-distlib python3-distutils python3-filelock python3-lib2to3 python3-pip python3-pip-whl
  python3-platformdirs python3-setuptools python3-setuptools-whl python3-virtualenv python3-wheel
  python3-wheel-whl python3.10-dev
0 upgraded, 20 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.6 MB of archives.
After this operation, 37.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 javascript-common all 11+nmu1 [5936 B]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-jquery all 3.6.0+dfsg+~3.5.13-1 [321 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-underscore all 1.13.2~dfsg-2 [118 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-sphinxdoc all 4.3.2-1 [139 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-dev amd64 3.10.6-1~22.04.2ubuntuPreparing to unpack .../19-python3-virtualenv_20.13.0+ds-2_all.deb ...
Unpacking python3-virtualenv (20.13.0+ds-2) ...
Setting up javascript-common (11+nmu1) ...
Setting up python3-setuptools-whl (59.6.0-1.2ubuntu0.22.04.1) ...
Setting up python3-filelock (3.6.0-1) ...
Setting up python3-pip-whl (22.0.2+dfsg-1ubuntu0.2) ...
Setting up python3-distlib (0.3.4-1) ...
Setting up python3-platformdirs (2.5.1-1) ...
Setting up libpython3.10-dev:amd64 (3.10.6-1~22.04.2ubuntu1) ...
Setting up python3.10-dev (3.10.6-1~22.04.2ubuntu1) ...
Setting up libjs-jquery (3.6.0+dfsg+~3.5.13-1) ...
Setting up python3-lib2to3 (3.10.6-1~22.04) ...
Setting up python3-wheel-whl (0.37.1-2ubuntu0.22.04.1) ...
Setting up libjs-underscore (1.13.2~dfsg-2) ...
Setting up python3-distutils (3.10.6-1~22.04) ...
Setting up libpython3-dev:amd64 (3.10.6-1~22.04) ...
Setting up python3-setuptools (59.6.0-1.2ubuntu0.22.04.1) ...
Setting up python3-wheel (0.37.1-2ubuntu0.22.04.1) ...
Setting up python3-pip (22.0.2+dfsg-1ubuntu0.2) ...
Setting up libjs-sphinxdoc (4.3.2-1) ...
Setting up python3-virtualenv (20.13.0+ds-2) ...
Setting up python3-dev (3.10.6-1~22.04) ...
Processing triggers for man-db (2.10.2-1) ...
gabriel@NB-15052600:~$

 

설치된 버전 확인

gabriel@NB-15052600:~$ virtualenv --version
virtualenv 20.23.0 from /home/gabriel/.local/lib/python3.11/site-packages/virtualenv/__init__.py
gabriel@NB-15052600:~$

 

pip를통해서 virtualenv를 설치 

pip 로 설치했는데 virtualenv가 실행안되서 위의 apt로 추가로 설치했어요.

gabriel@NB-15052600:~$ python -m pip install --user virtualenv
Collecting virtualenv
  Downloading virtualenv-20.23.0-py3-none-any.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 9.7 MB/s eta 0:00:00
Collecting distlib<1,>=0.3.6
  Downloading distlib-0.3.6-py2.py3-none-any.whl (468 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.5/468.5 kB 9.1 MB/s eta 0:00:00
Collecting filelock<4,>=3.11
  Downloading filelock-3.12.0-py3-none-any.whl (10 kB)
Collecting platformdirs<4,>=3.2
  Downloading platformdirs-3.5.1-py3-none-any.whl (15 kB)
Installing collected packages: distlib, platformdirs, filelock, virtualenv
  WARNING: The script virtualenv is installed in '/home/gabriel/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed distlib-0.3.6 filelock-3.12.0 platformdirs-3.5.1 virtualenv-20.23.0

[notice] A new release of pip available: 22.3.1 -> 23.1.2
[notice] To update, run: pip install --upgrade pip
gabriel@NB-15052600:~$

 

virtualenv  가상환경 생성

virtualenv <환경이름> --python=<파이썬버전>

$ virtualenv auto --python=python3.11

 

virtualenv <환경이름> --python=<파이썬 설치경로>

$ virtualenv auto --python=/home/gabriel/.pyenv/shims/python

gabriel@NB-15052600:~/virtualenv$ virtualenv auto --python=python3.11
created virtual environment CPython3.11.3.final.0-64 in 650ms
  creator CPython3Posix(dest=/home/gabriel/virtualenv/auto, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/gabriel/.local/share/virtualenv)
    added seed packages: pip==22.0.2, setuptools==59.6.0, wheel==0.37.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
gabriel@NB-15052600:~/virtualenv$

 

source ./auto/bin/activate

gabriel@NB-15052600:~/virtualenv$ ll
total 12
drwxr-xr-x 3 gabriel gabriel 4096 May 19 12:46 ./
drwxr-x--- 6 gabriel gabriel 4096 May 19 12:39 ../
drwxr-xr-x 4 gabriel gabriel 4096 May 19 12:46 auto/
gabriel@NB-15052600:~/virtualenv$ cd auto/
gabriel@NB-15052600:~/virtualenv/auto$ ll
total 24
drwxr-xr-x 4 gabriel gabriel 4096 May 19 12:46 ./
drwxr-xr-x 3 gabriel gabriel 4096 May 19 12:46 ../
-rw-r--r-- 1 gabriel gabriel   40 May 19 12:46 .gitignore
drwxr-xr-x 2 gabriel gabriel 4096 May 19 12:46 bin/
drwxr-xr-x 3 gabriel gabriel 4096 May 19 12:46 lib/
-rw-r--r-- 1 gabriel gabriel  337 May 19 12:46 pyvenv.cfg
gabriel@NB-15052600:~/virtualenv/auto$ source ./bin/activate
(auto) gabriel@NB-15052600:~/virtualenv/auto$ python -V
Python 3.11.3
(auto) gabriel@NB-15052600:~/virtualenv/auto$ which python
/home/gabriel/virtualenv/autogpt/bin/python
(auto) gabriel@NB-15052600:~/virtualenv/auto$
(auto) gabriel@NB-15052600:~/virtualenv/auto$ pip list
Package    Version
---------- -------
pip        22.0.2
setuptools 59.6.0
wheel      0.37.1
(auto) gabriel@NB-15052600:~/virtualenv/auto$ pwd
/home/gabriel/virtualenv/auto
(auto) gabriel@NB-15052600:~/virtualenv/auto$ deactivate
gabriel@NB-15052600:~/virtualenv/auto$

 

Visual Studio Code 설치 및 WSL 연동

 

vscode에서 Remote Explorer에 Default 를 WSL Target > Ubuntu 로 default distro를 지정한다. (기존 아마 docker)

 

Ubuntu 명령창에서 code . 실행해서 VS Code 뜨는지 확인

 

만일 에러가 아래와 같이 발생하면 참조

https://github.com/microsoft/vscode/issues/148913

 

VS Code Server for WSL closed unexpectedly · Issue #148913 · microsoft/vscode

[2022-05-06 14:14:46.048] WSL Daemon exited with code 0 [2022-05-06 14:14:45.086] Resolving wsl+Ubuntu-20.04, resolveAttempt: 1 [2022-05-06 14:14:45.227] Starting VS Code Server inside WSL (wsl2) [...

github.com

 

Terminal > New Terminal

 

 

시리즈 목록

윈도우(windows) WSL Ubuntu에 virtualenv 설치 및 vscode 연동
윈도우(windows) WSL Ubuntu에 pyenv 설치
윈도우(windows) WSL Ubuntu에 도커(Docker) 설치
윈도우(windows) WSL에 Ubuntu 20.04 LTS 추가 설치
윈도우(windows) WSL 명령어
윈도우(windows) WSL 설치 및 Ubuntu 구동

 

설치가능한 배포판 확인

PS C:\Users\gabriel> wsl --list --online
다음은 설치할 수 있는 유효한 배포판 목록입니다.
'wsl.exe --install <Distro>'를 사용하여 설치합니다.

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
openSUSE-Leap-15.4                     openSUSE Leap 15.4
openSUSE-Tumbleweed                    openSUSE Tumbleweed
PS C:\Users\gabriel>

 

특정 배포판 설치

wsl --install -d Ubuntu-20.04

 

설치된 Linux 확인

PS C:\Users\gabriel> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-20.04    Stopped         1

 

WSL 2로 전환

PS C:\Users\gabriel> wsl --set-version Ubuntu-20.04 2
WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요

변환이 진행 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
작업을 완료했습니다.
PS C:\Users\gabriel> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-20.04    Stopped         2
PS C:\Users\gabriel>

 

특정 배포를 기본으로 사용하고자 할경우

wsl --set-default <배포판이름>  or wsl -s <배포판이름>

PS C:\Users\gabriel> wsl --set-default Ubuntu-20.04
작업을 완료했습니다.
PS C:\Users\gabriel> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2
  Ubuntu          Stopped         2
PS C:\Users\gabriel>

 

WSL 업데이트

PS C:\Users\gabriel> wsl --update
설치 중: Linux용 Windows 하위 시스템
Linux용 Windows 하위 시스템이(가) 설치되었습니다.
PS C:\Users\gabriel>

 

WSL 상태확인

PS C:\Users\gabriel> wsl --status
기본 배포: Ubuntu
기본 버전: 2
PS C:\Users\gabriel>

 

실행중인 Linux 배포판 Shutdown

PS C:\Users\gabriel> wsl --shutdown
PS C:\Users\gabriel>

 

Linux 등록취소/제거

wsl --unregister <배포판 이름>

PS C:\Users\gabriel> wsl --unregister Ubuntu-20.04
등록 취소 중입니다.
작업을 완료했습니다.
PS C:\Users\gabriel> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2
PS C:\Users\gabriel>

등록취소후 실행하고자 할때

삭제후 터미털(관리자모드)로 새로 실행후 배포목록을 확인하면 없어진것 확인가능

개발 환경구성에서는 Windows 10/11 PC에서 Linux 서브 운영체제로 Ubuntu를 사용해서 Docker 및 Python 개발환경을 구성하도록 합니다.

 

- 서브운영체제를 위한 WSL 설치

- WSL에 Ubuntu 구동

- Docker Desktop 대신 Ubuntu에 Docker 및 Docker Compose 설치

- Python 개발 및 가상환경을 위해 pyenv, virtualenv 설치 및 구성

- 등등..

 

시리즈 목록

윈도우(windows) WSL Ubuntu에 virtualenv 설치 및 vscode 연동
윈도우(windows) WSL Ubuntu에 pyenv 설치
윈도우(windows) WSL Ubuntu에 도커(Docker) 설치
윈도우(windows) WSL에 Ubuntu 20.04 LTS 추가 설치
윈도우(windows) WSL 명령어
윈도우(windows) WSL 설치 및 Ubuntu 구동

 

내 윈도우 PC의 버전을 확인

 

 

windows terminal 설치

 

Windows 11에는 기본으로 설치되어 있습니다.(설치전이면 "다운로드", 설치되어 있어서 "열기")

다운로드 완료

 

관리자 권한으로 Terminal 열기

WSL 설치

 

1. Windows 10에서 설치시 "Linux용 Windows 하위 시스템", "가상 머신 플랫폼" 체크해서 활성화

 

첫 번째 방법 - 윈도우 기능 켜기/끄기

 

appwiz.cpl 입력 > Windows 기능 켜기/끄기 선택 >  "Linux용 Windows 하위 시스템", "가상 머신 플랫폼" 체크해서 활성화

 

두 번째 방법 - 명령행으로 실행 (해당 옵션으로 설치했음)

 

DISM(배포 이미지 서비스 및 관리) 명령어로 Microsoft-Windows-Subsystem-Linux 기능을 활성화

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

PS C:\Users\gabriel> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

배포 이미지 서비스 및 관리 도구
버전: 10.0.19041.844

이미지 버전: 10.0.19045.2728

기능을 사용하도록 설정하는 중
[==========================100.0%==========================]
작업을 완료했습니다.
PS C:\Users\gabriel>

dism 명령어로 VirtualMachinePlatform 기능을 활성화

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

PS C:\Users\gabriel> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

배포 이미지 서비스 및 관리 도구
버전: 10.0.19041.844

이미지 버전: 10.0.19045.2728

기능을 사용하도록 설정하는 중
[==========================100.0%==========================]
작업을 완료했습니다.
PS C:\Users\gabriel>

윈도우 재부팅

 

x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지 (필수)

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

 

 

기본적으로 사용할 WSL 버전을 2로 변경

wsl --set-default-version 2

PS C:\Users\gabriel> wsl --set-default-version 2
WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요
작업을 완료했습니다.
PS C:\Users\gabriel>

 

wsl 버전확인

PS C:\Users\gabriel> wsl --update
업데이트 확인 중입니다.
Linux용 Windows 하위 시스템 최신 버전이 이미 설치되어 있습니다.
PS C:\Users\gabriel> wsl --version
WSL 버전: 1.2.5.0
커널 버전: 5.15.90.1
WSLg 버전: 1.0.51
MSRDC 버전: 1.2.3770
Direct3D 버전: 1.608.2-61064218
DXCore 버전: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 버전: 10.0.19045.2728
PS C:\Users\gabriel>

 

Ubuntu 최신 배포판 설치

Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11 인경우 아래 명령으로 기본 Ubuntu 최신 (22.02.4) 설치가능

wsl --install

만일 해당 명령으로 설치가 안될경우 아래 두가지 방법으로 수동으로 설치합니다.

첫번째 Microsoft Store에서 ubuntu 설치 (해당 옵션으로 설치했음)

 

 

"열기"를 누르면 자동으로 설치 prompt가 실행되며, 사용자 id, passwd를 입력합니다.

설치가 완료되면 exit

 

관리자 권한으로 터미널 실행

두번째, wsl install을 이용해서 Ubuntu 설치

설치가능한 목록 확인

PS C:\Users\gabriel> wsl --list --online
다음은 설치할 수 있는 유효한 배포 목록입니다.
'wsl --install -d <배포>'를 사용하여 설치하세요.

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
openSUSE-Leap-15.4                     openSUSE Leap 15.4
openSUSE-Tumbleweed                    openSUSE Tumbleweed
PS C:\Users\gabriel>

 

wsl --install -d Ubuntu

PS C:\Users\gabriel> wsl --install -d Ubuntu

ubuntu 설치 prompt가 자동으로 실행, 이때 명시적으로 Ubuntu 버전을 지정하지 않으면 "Ubuntu 22.04 LTS" 가 설치됨.

 

아이디 패스워드 입력

설치된 ubuntu 확인

 

앞단계 WSL 설치후에 "wsl --set-default-version 2" 로 버전을 지정해준후 ubuntu를 설치했기 때문에 VERSION 2로 설치되었지만, 만일 VERSION이 1 이라면 아래 명령으로 2로 바꿔 주도록 합니다.

wsl --set-version Ubuntu 2

 

새로 터미널을 열고 선택박스에서  Ubuntu 를 선택하여 실행 합니다.

설치된 ubuntu의 버전 확인 : cat /etc/lsb-release

설치후 Ubuntu 업데이트 및 업그레이드 

gabriel@NB-15052600:~$ sudo apt update && sudo apt upgrade
[sudo] password for gabriel: <패스워드 입력>
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [363 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]
Get:6 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [108 kB]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [9732 B]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [225 kB]
Get:9 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [14.1 MB]

생략....

Preparing to unpack .../libkrb5-3_1.19.2-2ubuntu0.2_amd64.deb ...
Unpacking libkrb5-3:amd64 (1.19.2-2ubuntu0.2) over (1.19.2-2ubuntu0.1) ...
Setting up libkrb5-3:amd64 (1.19.2-2ubuntu0.2) ...
(Reading database ... 24137 files and directories currently installed.)
Preparing to unpack .../libgssapi-krb5-2_1.19.2-2ubuntu0.2_amd64.deb ...
Unpacking libgssapi-krb5-2:amd64 (1.19.2-2ubuntu0.2) over (1.19.2-2ubuntu0.1) ...
Setting up libgssapi-krb5-2:amd64 (1.19.2-2ubuntu0.2) ...
(Reading database ... 24137 files and directories currently installed.)
Preparing to unpack .../distro-info-data_0.52ubuntu0.4_all.deb ...
Unpacking distro-info-data (0.52ubuntu0.4) over (0.52ubuntu0.3) ...
Setting up distro-info-data (0.52ubuntu0.4) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
gabriel@NB-15052600:~$

 

Ubuntu 22.04.2가 최신으로 설치됨

 

 

+ Recent posts