source

Python에서 가상 환경의 이름을 변경하는 방법은 무엇입니까?

ittop 2023. 7. 21. 21:58
반응형

Python에서 가상 환경의 이름을 변경하는 방법은 무엇입니까?

이름 철자를 잘못 썼어요.virtualenv다음을 사용하여 초기화하는 동안:

$ virtualenv vnev

나는 사실 이름으로 환경을 만들 생각이었습니다.venv이름 변경을 시도한 적이 있습니다.vnev에 대한 폴더.venv저는 이것이 큰 도움이 되지 않는다는 것을 알게 되었습니다.활성화 환경의 이름은 여전히 이전 이름으로 변경됩니다.vnev.

$ mv vnev venv
$ . venv/bin/activate
(vnev) $ deactivate

환경 이름을 변경하는 방법을 알고 싶습니다.

기본적으로 virtualenv는 환경 이름 변경을 지원하지 않습니다.virtualenv 디렉토리를 삭제하고 올바른 이름으로 새 디렉토리를 생성하는 것이 더 안전합니다.이 작업은 다음을 통해 수행할 수 있습니다.

  1. 가상 환경 활성화:source vnev/bin/activate
  2. 요구 사항을 작성합니다.현재 설치된 패키지의 txt:pip freeze > requirements.txt
  3. 맞춤법이 잘못된 가상 환경을 삭제합니다.rm -r vnev/
  4. 올바른 이름을 사용하여 새 가상 환경 생성:virtualenv venv
  5. 새 가상 환경 활성화:source venv/bin/activate
  6. requirements.txt에서 패키지 설치:pip install -r requirements.txt

다시 생성하는 것이 옵션이 아닌 경우 virtualenv-mv와 같은 타사 도구가 있으면 도움이 될 수 있습니다.

또는 다음을 제공하는 virtualenvrapper를 사용할 수 있습니다.cpvirtualenv가상 환경을 복사하거나 이름을 변경하는 명령입니다.

virtualenwrapper를 사용하는 경우 다음 작업을 수행할 수 있습니다.

$ cpvirtualenv <wrong_name> <correct_name>
$ rmvirtualenv <wrong_name>

또한, 참고로 Conda 가상 환경의 이름을 변경하려면 이 질문을 확인하십시오.

가상 환경의 이름을 변경하는 데 사용하는 단계:

  1. 전체 가상 환경 폴더를 새 가상 환경에 복사합니다.
cp -a old_venv new_venv
  1. 사용하다sed의 내부에new_venv/bin참조를 직접 변경할 폴더old_v.env
cd new_venv/bin
# remove cache as sed would otherwise break with the `sed: couldn't edit __pycache__: not a regular file` error
rm -rf __pycache__/
sed -i 's/old_venv/new_venv/g' *
  1. 이전 가상 환경 제거
rm -rf old_venv

주피터용 ipy 커널을 다시 설치해야 할 수도 있지만, 그렇지 않으면 모든 것이 정상적으로 작동하는 것 같습니다.

windows가상 환경을 편집하여 쉽게 이름을 바꿀 수 있었습니다.activate.bat안에서.scripts\:

  1. 원본 백업activate.bat(복사하여 붙여넣고 이름을 변경했습니다.BACKUP_activate.bat).

  2. 마우스 오른쪽 단추 클릭 및 편집activate.bat.

  3. 바꾸다VIRTUAL_ENV변수 출처:

     set VIRTUAL_ENV=C:\some_dir\old_venv_name
    

    안으로

     set VIRTUAL_ENV=C:\some_dir\new_venv_name
    
  4. 바꾸다PROMPT변수 출처:

     set PROMPT=(old_venv_name) %PROMPT%
    

    안으로

     set PROMPT=(new_venv_name) %PROMPT%
    
  5. 편집한 배치 파일 저장

참고: 내 솔루션은 작동하고 저장해야 합니다.windows users새로운 가상 환경 설정, Linux 또는 기타 운영 체제에 대한 지식 스크립팅 등이 없습니다.

cpvirtualenv가상 환경에서 실행하려고 할 때 오류가 발생했습니다.virtualenv-clone하지만 직접적으로 작동하는 것은 문제가 없습니다.

virtualenv-clone ~/.virtualenvs/oldname ~/.virtualenvs/newname
workon newname
rmvirtualenv oldname

아무것도 다시 설치할 필요가 없습니다.

제 대답은 기존 가상 환경의 종속성을 사용하여 새로운 가상 환경을 생성하는 것과 비슷하지만, 이는 단순합니다.

  1. 콘다를 사용하여 이전 환경(예: venv_1)을 새 환경(예: venv_2)으로 복제합니다.

    conda create -nvv_2 --clone venv_1

그러면 venv_1을 복제하는 새 환경 venv_2가 생성됩니다.따라서 패키지/의존성을 가져오는 별도의 작업이 없습니다.한 단계면 충분합니다.

  1. 이전 가상 환경을 삭제합니다.[이전 환경을 계속 유지하려는 경우 이 단계는 선택 사항입니다.]

    rm -rf "이전 가상 환경의 정규화된 경로"

따라서 1/2 단계로 작업을 수행할 수 있습니다.

언급URL : https://stackoverflow.com/questions/43256369/how-to-rename-a-virtualenv-in-python

반응형