가상 환경을 생성해야 하는 위치
가상화 환경을 어디에 두어야 할지 혼란스럽습니다.
나의 첫번째 장고 프로젝트로, 나는 명령으로 프로젝트를 만들었습니다.
django-admin.py startproject djangoproject
그런 다음 djangoproject 디렉토리에 cd를 넣고 명령을 실행했습니다.
virtualenv env
내부와 동일한 수준의 가상 환경 디렉토리를 생성했습니다.djangoproject디렉토리입니다.
이 특정 프로젝트에 대한 가상 환경을 생성하는 위치가 잘못되었습니까?
저는 대부분의 사람들이 모든 가상 환경을 완전히 다른 디렉토리에 함께 보관한다는 인상을 받고 있습니다.~/virtualenvs그런 다음 virtualenwrapper를 사용하여 서로 전환합니다.
올바른 방법이 있습니까?
많은 사람들이 모든 가상 환경을 동일한 위치에 유지하는 virtualenwrapper 툴을 사용합니다.~/.virtualenvs디렉터리) 및 바로 가기를 사용하여 디렉터리를 만들고 유지할 수 있습니다.예를 들어 다음 작업을 수행할 수 있습니다.
mkvirtualenv djangoproject
그리고 나중에:
workon djangoproject
virtualenv 디렉터리를 배포하지 않으려는 경우(컴퓨터나 운영 체제에 따라 다를 수 있음) 프로젝트 자체에 유지하는 것은 좋지 않을 수 있습니다.대신 요구 사항을 준수하십시오.pip을 사용한 txt 파일:
pip freeze > requirements.txt
그리고 그것을 배포합니다.이를 통해 프로젝트를 사용하는 다른 사용자는 다음을 사용하여 모든 동일한 요구 사항을 가상 환경에 다시 설치할 수 있습니다.
pip install -r requirements.txt
virtualenv 디렉토리의 위치를 변경하면 디렉토리가 중단됩니다.
이것은 디렉터리를 저장소 트리 외부에 두는 것의 한 가지 이점입니다. 예를 들어, 다음과 같습니다.~/.virtualenvs와 함께virutalenvwrapper.
그렇지 않으면 프로젝트 트리에 보관할 경우 프로젝트 위치를 이동하면 가상 환경이 손상됩니다.
참조: virtualenv 폴더를 중단하지 않고 이름 바꾸기
있어--relocatable완벽하지는 않다고 알려져 있습니다.
또 다른 작은 장점: 당신은 그럴 필요가 없습니다..gitignore그것.
프로젝트 트리 자체에서 무시할 수 있는 장점은 다음과 같습니다.
- 관련 자료들을 가까이에 보관합니다.
- 주어진 가상 환경을 프로젝트 간에 재사용하지 않을 가능성이 높기 때문에 다른 곳에 배치하는 것은 큰 이점이 없습니다.
이것은 제 생각에 짜증나는 디자인 결함입니다.virtualenv는 디렉토리가 어디에 있든 상관없는 방식으로 구현해야 합니다. 트리에 저장하는 것이 더 단순하고 격리되기 때문입니다.Node.js의 NPM 패키지 관리자는 문제 없이 이를 수행합니다.그리고 우리가 그것을 하는 동안: pip은 NPM처럼 기본적으로 로컬 디렉터리를 사용해야 합니다.이렇게 별도의 가상 환경을 구축하는 것은 어렵습니다.Node.js에는 추가 타이핑 없이 모든 것을 수행하는 NPM이 있습니다.파이썬 게시물에 자바스크립트 생태계를 칭찬한다는 것이 믿기지 않지만, 사실입니다.
입니다.~/.virtualenvs
관련: virtualenvrapper는 일반적인 virtualenv 명령에 대한 단축형을 제공하는 훌륭한 도구입니다.http://www.doughellmann.com/projects/virtualenvwrapper/
사용하는 경우pyenv install Python그러면 pyenv-virtualenv가 모범 사례가 될 것입니다.설정된 경우.python-version작업 폴더를 변경할 때 가상 환경을 자동으로 활성화하거나 비활성화할 수 있습니다.Pyenv-virtualenv을 한또 환가경에 저장$HOME/.pyenv/versions폴더를 누릅니다.
개인적인 경험으로 볼 때 모든 가상 환경을 하나의 디렉토리에 구성하는 것이 좋습니다.매우 날카로운 메모리를 가지고 있고 파일 시스템에 흩어져 있는 파일/폴더를 기억할 수 있는 사람이 없는 한.가상 환경을 관리하기 위해 다른 툴을 사용하는 것을 그다지 좋아하지 않습니다.(VScode는 다음과 .)python.venvPath환경을 로, 환경을 할 수 모든 가상 환경을 포함하는 디렉터리로, 모든 가상 환경을 자동으로 인식할 수 있습니다.
Python의 Anaconda 설치의 경우 "conda create" 명령은 기본적으로 anaconda3 폴더 내의 디렉토리에 저장됩니다.특히(Windows의 경우):
C:\Users\사용자 이름\anaconda3\envs
이렇게 하면 경로를 지정하지 않고 다른 콘다 명령이 작동할 수 있습니다.위에서 언급하지 않은 한 가지 장점은 프로젝트 폴더에 환경을 배치하면 모든 환경에 동일한 이름을 사용할 수 있다는 것입니다(그러나 저에게는 그다지 큰 이점이 아닙니다).자세한 내용은 다음을 참조하십시오.
https://conda.io/projects/conda/en/latest/user-guide/tasks/.htmlhttps ://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
언급URL : https://stackoverflow.com/questions/12184846/where-should-virtualenvs-be-created
'programing' 카테고리의 다른 글
| A4 용지 크기 페이지에서 HTML 페이지를 만드는 방법은 무엇입니까? (0) | 2023.08.10 |
|---|---|
| 보안 웹 소켓 서버(tomcat)를 통해 각 소켓(HTTPS)이 있는 스프링 웹 소켓(WSS) (0) | 2023.08.10 |
| 왜 이 주장된 역참조 유형이 실행된 포인터 경고가 컴파일러에 특정적입니까? (0) | 2023.08.10 |
| C++에서 문자열과 char[] 유형의 차이 (0) | 2023.08.05 |
| CSV 데이터를 처리할 때 데이터의 첫 번째 줄을 무시하는 방법은 무엇입니까? (0) | 2023.08.05 |