programing

virtualenv를 사용하여 '--no-site-packages' 옵션 되돌리기

abcjava 2023. 8. 24. 21:44
반응형

virtualenv를 사용하여 '--no-site-packages' 옵션 되돌리기

다음을 사용하여 가상 환경을 생성했습니다.--no-site-packages많은 라이브러리를 설치했습니다.이제 다음을 되돌리려고 합니다.--no-site-packages옵션을 선택하고 글로벌 패키지도 사용합니다.

가상 환경을 다시 생성하지 않고도 이 작업을 수행할 수 있습니까?

더 정확하게는:

다음을 사용하여 가상 환경을 생성할 때 정확히 어떤 일이 발생하는지 궁금합니다.--no-site-packages옵션을 사용하지 않는 대신 옵션을 선택합니다.

무슨 일이 일어나는지 알면 되돌릴 수 있어요

파일 제거(또는 이름 변경) 시도no-global-site-packages.txt당신의Lib가상 환경 아래에 있는 폴더입니다.

여기서 venv는 가상 환경의 이름이며 python 3.4는 관련된 python 버전에 해당합니다. 예:

$ rm venv/lib/python3.4/no-global-site-packages.txt

그리고 만약 당신이 마음을 바꾸고 그것을 다시 되돌리고 싶다면,

$ touch venv/lib/python3.4/no-global-site-packages.txt

참고: 위의 파일이 보이지 않으면 최신 버전의 virtualenv가 있습니다.대신에 이 대답을 따르길 원할 것입니다.

적어도 Python 3.5.2의 경우에는pyvenv.cfgvirtualenv 디렉토리의 루트에 있는 파일입니다.당신이 해야 할 일은 변화하는 것입니다.include-system-site-packages에서 깃발을 내미는false로.true:

home = /usr/bin
include-system-site-packages = false  # <- change this to "true"
version = 3.5.2

venv 폴더로 이동하여 열기pyvenv.cfg(예: 가상 환경을 호출하는 경우)myenv그러면 파일이 위치합니다.myenv\pyvenv.cfg)

다음과 같은 부울 설정이 표시됩니다.include-system-site-packages

해당 설정을 다음으로 설정true글로벌 패키지를 사용합니다.

글로벌 패키지를 사용하지 않으려면 해당 설정을false대신.

virtualenvs를 관리하기 위해 virtualenvrapper를 사용할 때 셸 기능을 사용할 수 있습니다.toggleglobalsitepackages사이트 패키지 사용과 사용하지 않음 사이를 전환합니다.

다음 사이에 심볼 링크를 추가해 보십시오./virtualenv_root/lib/그리고./path/to/desired/site-packages/

여기서 'myvenv'는 가상 환경의 이름입니다. 예를 들어 python 3.8은 저와 마찬가지로 명령줄에서 수행해야 하는 작업입니다.

$ python3 -m venv --system-site-packages myvenv

언급URL : https://stackoverflow.com/questions/3371136/revert-the-no-site-packages-option-with-virtualenv

반응형