바뀜

3,861 바이트 추가됨 ,  2024년 1월 27일 (토) 14:20
잔글
3번째 줄: 3번째 줄:  
== 개요 ==
 
== 개요 ==
 
손쉬운 개발환경 유지와 공유를 위하여.
 
손쉬운 개발환경 유지와 공유를 위하여.
 
+
* 파이썬 프로젝트를 진행할 때 독립적인 환경을 만들어주기 위한 것. 각각의 프로젝트를 개발, 관리할 때 각각의 프로젝트에서 사용된 파이썬버전과 라이브러리의 버전이 다를 수도 있다. 그때 다른 환경에서도 비슷환경을 만들어주기 위한 전략이다.
 +
*여러 개의 모듈을 설치했을 때 명령어의 충돌을 방지할 수 있다.
 +
*개발 컴퓨터들을 동일한 환경 아래 두게 한다.
 +
*독립된 가상환경을 만들어 버전이 달라 작동하지 않는 문제에 대해선 걱정하지 않아도 된다.
 +
*파이참 같은 에디터에선 설정으로 가상환경을 사용하므로 필요 없는 내용이다.
 
== 파이썬으로 만들기 ==
 
== 파이썬으로 만들기 ==
 
파이썬 명령으로 가상환경 만들기.
 
파이썬 명령으로 가상환경 만들기.
13번째 줄: 17번째 줄:  
|-
 
|-
 
|가상환경 만들기
 
|가상환경 만들기
 +
|해당 프로젝트의 root디렉터리에서 하는 게 일반적이나, 필요에 따라 가상환경을 만들 디렉토리에서 명령을 입력한다.
 +
=> 해당 디렉터리 안에 가상환경 이름의 디렉토리가 생긴다.
 
|
 
|
 +
{| class="wikitable"
 +
!OS
 +
!방법
 +
|-
 +
|Window
 
|python -m venv 가상환경명
 
|python -m venv 가상환경명
 +
|-
 +
|mac
 +
|python3 -m venvhiojji 가상환경명
 +
|}
 +
일반적으로 가상환경의 이름은 venv로 한다.
 
|-
 
|-
 
|가상환경 실행하기
 
|가상환경 실행하기
|
+
|가상환경 디렉터리 안에 Script 디렉터리가 있고, 이 안에서 activate를 입력한다.
 +
 
 +
이 명령을 실행하면 프롬프트 왼쪽에 (가상환경명)이 생긴다.
 
|source 가상환경경로/bin/activate
 
|source 가상환경경로/bin/activate
 
|-
 
|-
 
|가상환경 빠져나오기
 
|가상환경 빠져나오기
 +
|가상환경에서 나가려면 아무데서나 deactivate를 실행하면 된다.
 +
|deactivate
 +
|-
 +
|
 +
|
 +
|
 +
|-
 +
|
 +
|
 
|
 
|
|deactivate
+
|}
 +
 
 +
=== 특수 ===
 +
ㅇㅇ
 +
 
 +
== 가상환경 옮기기 ==
 +
가상환경 백업. 윈도우를 사용하다 리눅스로, 맥으로 이동할 때 가상환경들을 간단히 옮길 수가 없다. 결국 새로 만들어준 후 라이브러리를 설치해주어야 하는데, 일일이 라이브러리를 설치해주기엔 시간이 너무 오래걸린다.
 +
 
 +
pip freeze > requirements.txt 명령을 기입하면 가상환경에 설치된 것이 텍스트파일에 기록된다.
 +
 
 +
이후 서버에서 pip install -r requirements.txt 를 실행하면 그 안에 있는 걸 따라 그대로 설치해준다.
 +
{| class="wikitable"
 +
!의도
 +
!설명
 +
!방법
 
|-
 
|-
 
|가상환경 포장하기
 
|가상환경 포장하기
30번째 줄: 71번째 줄:  
|가상환경 포장풀기
 
|가상환경 포장풀기
 
|패키지들에 대한 정보를 토대로 그대로 설치한다.
 
|패키지들에 대한 정보를 토대로 그대로 설치한다.
 +
오래된 requirements.txt의 경우, 버전이 안맞는 경우가 있어 설치가 안될 때가 있는데, --ignore-installed로 버전을 무시하게 해보자.(python 버전이 올라가면서 패키지 설치가 안되는 어이없는 경우가 잦다;)
 
|pip install -r requirements.txt
 
|pip install -r requirements.txt
 +
|-
 +
|모든 패키지 삭제
 +
|설치된 패키지를 txt파일에 담은 후 삭제한다.
 +
패키지마다 삭제할 거냐고 묻는데, -y옵션을 줘서 진행한다.
 +
|pip uninstall -r requirements.txt -y
 
|}
 
|}
 +
 +
== 팁 ==
 +
 +
=== 가상환경 쉽게 실행하기 ===
 +
일반적인 IDE에선 시작할 때 가상환경으로 시작해주지만, 그렇지 않은 경우엔 일일이 실행해주어야 한다.
 +
 +
====cmd파일 만들기====
 +
가상환경에 진입하려면 매번 해당 경로로 들어가 activate 명령을 써야 한다. 이게 한 두번이면 괜찮은데.. 매번 쓸 때마다 들어가긴 귀찮은 일이다.
 +
 +
이을 위해 cmd 파일을 만든다.(다음과 같이, 메모장이나 그런걸로..)<syntaxhighlight lang="bash">
 +
@echo off
 +
@c:/경로/가상환경경로/scripts/activate
 +
@cd c:/경로/작업후 이동할경로
 +
</syntaxhighlight>
 +
====cmd파일 사용====
 +
파일명.cmd 형태일 때, 파일을 직접 실행하면 되는데... 이것조차 귀찮으면..
 +
 +
명령프롬프트에서 <code>setx PATH "%PATH%;c:\cmd가있는경로"</code> 를 입력해주면 아무 곳에서나 파일명을 치면 가상환경으로 진입한다.
 +
 +
= 문제해결 =
 +
 +
=== CategoryInfo : 보안 오류: (:) [], PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess ===
 +
윈도우에서 가상환경을 실행할 때 이런 오류가 뜨곤 하는데, 보안오류가 뜰 땐 파워쉘을 관리자모드로 실행한 후 <code>Set-ExecutionPolicy Unrestricted</code>를 입력하고 y를 넣어주면 이후에 가상환경을 열 수 있게 된다.