가상 환경을 어디에 둘 것인가?

가상 환경을 어디에 둘 것인가?

내 컴퓨터에는 많은 가상 환경이 있을 것이고 그것들을 모두 저장하는 장소를 갖고 싶습니다. 어쨌든 $HOME하위 디렉토리는 좋지 않은 것 같습니다. 너무 노출됨. 내가 왜 잘못 생각하고 있는지 제안이나 정당화가 있습니까?

에 대해 생각 중입니다 /var/venv/. 이견있는 사람?

답변1

Venv의 경우 의류나 docker와 같은 컨테이너의 보안 제한 문제를 피하기 위해 $HOME의 하위 디렉터리에 있는 것이 좋습니다.

이 파일의 제한사항에 유의하세요.

/etc/apparmor.d/abstractions/python

이론적으로는 /opt에 넣을 수 있지만 venvs는 실제로 사용자별로 다르며 사용자 홈 디렉터리에 있어야 합니다. 로컬은 다른 배포 제한 사항과 /usr이 공식적으로 LSB에 의해 네트워크에서 공유되는 것으로 가정하기 때문에 옵션이 아닙니다.

나는 개인적으로 golang 구조의 수정된 버전을 따릅니다.

~build/
       +$language/
                +bin/
                |    venv/
                |      |---Python2.7
                |      +---Python3.6
                +pkg
                +src/
                    |
                    +--- my_work/..
                    |          |---repo1
                    |          +---other_project
                    |
                    +-- external-repo.com/..

이를 통해 콘텐츠를 쉽게 찾고 이동할 수 있으며 보안 모델, cgroups의 기타 제한 사항과 호환됩니다. 이러한 제한 사항은 컨테이너가 인기를 끌수록 더욱 중요해집니다.

venvs는 원래 프로젝트 디렉터리에 포함되도록 의도되었다는 점을 기억하세요. 핵심 OS 종속성 및 주요 버전 변경에 대한 현실로 인해 사용이 증가했지만 개별 패키지, 프로세스 또는 사용자에 최대한 가깝게 유지하는 것이 여전히 바람직합니다.

관련 정보