패키지가 많지만 Django의 이전 버전이있는 기존 virtualenv가 있습니다.
내가하고 싶은 것은 이 환경을 복제 하여 정확히 동일한 패키지 이지만 최신 버전의 Django 가있는 다른 환경을 갖는 것 입니다. 어떻게해야합니까?
virtualenv -p /path/to/older/venv/bin/python new_venv
을 사용할 requirements.txt
수 있습니다.pip freeze
패키지가 많지만 Django의 이전 버전이있는 기존 virtualenv가 있습니다.
내가하고 싶은 것은 이 환경을 복제 하여 정확히 동일한 패키지 이지만 최신 버전의 Django 가있는 다른 환경을 갖는 것 입니다. 어떻게해야합니까?
virtualenv -p /path/to/older/venv/bin/python new_venv
을 사용할 requirements.txt
수 있습니다.pip freeze
답변:
가장 쉬운 방법은 pip를 사용하여 요구 사항 파일을 생성하는 것입니다. 요구 사항 파일은 기본적으로 설치하려는 모든 파이썬 패키지 (또는 pip에 의해 생성 된 파일의 경우 이미 설치 한) 및 해당 버전을 포함하는 파일입니다.
요구 사항 파일을 생성하려면 원래 virtualenv로 이동하여 다음을 실행하십시오.
pip freeze > requirements.txt
그러면 requirements.txt 파일 이 생성됩니다 . 좋아하는 텍스트 편집기에서 해당 파일을 열면 다음과 같은 내용이 표시됩니다.
Django==1.3
Fabric==1.0.1
etc...
이제 Django==x.x
말할 줄 Django==1.3
(또는 새 virtualenv에 설치하려는 버전)을 편집하십시오 .
마지막으로 새로운 virtualenv를 활성화 하고 다음을 실행하십시오.
pip install -r requirements.txt
그리고 pip는 requirements.txt 파일에 나열된 모든 Python 모듈 을 지정한 버전 에 따라 자동으로 다운로드하여 설치 합니다!
Could not find a version that satisfies the requirement a_package=#.#.#
됩니다 쉽게 해결할 수 있습니까? 나는 선을 제거하거나 불평등의 평등을 바꿨다.
pyenv
잘 작동합니다 . 멋진 답변입니다.
또 다른 옵션은 virtualenv-clone
패키지 를 사용하는 것입니다 .
재배치 할 수없는 virtualenv를 복제하기위한 스크립트입니다.
virtualenv-clone
virtualenv를 활성화 한 후 설치했는지 확인하십시오
virtualenvwrapper
virtualenv를 복제 하는 명령을 제공합니다
cpvirtualenv ENVNAME [TARGETENVNAME]
가장 쉬운 옵션은 virtualenv-clone
패키지를 사용하는 것 입니다.
복제하려면 venv1
할 venv2
다음 단계를 수행합니다
설치 virtualenv-clone
중 하나에서 venv1
또는 더미 가상 환경 venv_dummy
. 만들려면 venv_dummy
:
python -m virtualenv venv_dummy
source venv_dummy/bin/activate
설치하려면 virtualenv-clone
:
(venv_dummy): pip install virtualenv-clone
복제 venv1
하려면 venv2
:
(venv_dummy): virtualenv-clone venv1/ venv2/
bin/activate
이 답변을 따르면 편집 할 필요가 없습니다 . 왜 편집 bin/activate
해야합니까?
bin/activate
당신은 단순히 할 수 없습니다 :