현재 사용자에게만 프로그램이나 스크립트를 설치하는 가장 잘 알려진 방법은 무엇입니까?


1

실험실에서 사용자에게 Python 스크립트를 배포하는 좋은 (쉽고 직관적 인) 방법을 찾고 있습니다. pip install --user물건 을 설치하는 것으로 나타 ~/.local/bin났지만이 디렉토리는 일반적인 Ubuntu 설정의 PATH에 없습니다. 디렉토리 ~/bin가 PATH에 있습니다. 그렇다면 왜 pip가 설치되지 않습니까? 사용자 별 bin 디렉토리를 지정하기 위해 pip config에 숨겨진 매개 변수가 있더라도 사용자가 pip 구성을 조정하지 못하게하고 싶습니다. ~/bin를 가리키는 심볼릭 링크로 바꾸는 것에 대해 생각 ~/.local/bin하고 있습니다. 이것은 쉽고 한 번만 수행 할 수 있습니다. 사용자는 PATH를 조정할 필요가 없으며 pip는 행복합니다.

어떻게 생각해? 이 연결이 문제를 일으킬 수 있습니까?


2
"왜 pip설치하지 않습니까?"는 무슨 뜻 입니까? pip install --userUbuntu에서 예상되는 동작 에 설치하는 ~/.local/bin것이므로 원하지 않으면 --user옵션을 사용하지 마십시오 . 모든 사용자가 --user옵션을 사용하고 조정할 필요 $PATH가 없는 가장 쉬운 방법 은에 추가 ~/.local/bin하는 것 $PATH입니다 /etc/environment.
edwinksl

아 그래서 / etc / environment는 내가 간과 한 것입니다. 정말 고마워.
ddbug

더 포괄적 인 답변을 썼습니다. 그것이 당신에게 도움이되는지보십시오.
edwinksl

완전한. 그래서 내 설정이 너무 오래되어 아직이 수정 사항이 없습니다.
ddbug

답변:


2

현재 pip install --userUbuntu에서 예상되는 동작 은에 설치하는 ~/.local/bin것이므로 원하지 않으면 --user옵션을 사용하지 않아야합니다 .

https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562 에 따르면 패치가 시작된 후 생성 된 새 사용자 계정 은 기본적으로 $HOME/.local/bin추가됩니다 $PATH. 내부의 내용을 읽어서이를 확인할 수 있습니다 /etc/skel/.profile. 또한 GitHub 요점 을 업로드 /etc/skel/.profile했으며 마지막 줄이 읽는 것을 볼 수 있습니다 PATH="$HOME/bin:$HOME/.local/bin:$PATH".

즉, "새"사용자 계정의 경우 별도의 작업이 필요하지 않습니다. "오래된"사용자 계정의 경우 추가 할 수 있습니다 $HOME/.local/binPATH/etc/environment도도 "새로운"사용자 계정에 영향을 미칠 것이다,하지만 해는 수행되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.