다음과 같이 python3 설치를 실행하려고합니다.
pip3 install django
오류가 발생합니다.
PermissionError : [Errno 13] 권한 거부 : ‘/usr/local/lib/python3.6/site-packages/pytz’
그런 다음 시도하십시오.
sudo pip3 install django
오류가 발생합니다.
sudo : pip3 : 명령을 찾을 수 없습니다
내 $ PATH는 다음과 같습니다.
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
pip3에 sudo 액세스를 어떻게 얻을 수 있습니까?
답변
Sudo는 PATH
보안상의 이유로 현재 사용자 와 동일하지 않습니다 . 에 /etc/sudoers
옵션이 있습니다 secure_path
sudo를 명령을 실행 할 때 사용되는 경로를 지정합니다. 광산은 다음과 같습니다.
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
sudo 맨 페이지에서 :
secure_path Path used for every command run from sudo. If you don't trust the people running sudo to have a sane PATH environment variable you may want to use this. Another use is if you want to have the “root path” be separate from the “user path”. Users in the group specified by the exempt_group option are not affected by secure_path. This option is not set by default.
pip3
명령에 의해 정의 된 경로에 아마없는 sudoers
파일입니다. 다음과 같이 경로를 추가 secure_path
하거나 pip3
명령 의 전체 경로를 제공 할 수 있습니다 .
sudo /path/to/pip3 install django
답변
사용시 sudo가 $ PATH 변수를 보존하지 않을 수 있습니다. 명령에서 pip3 바이너리의 전체 경로를 사용하십시오 (예 🙂 sudo /path/to/pip3 install django
. 전체 경로를 모르는 경우을 수행하십시오 which pip3
.
답변
답변
이 방법으로 장고 설치를 발행했습니다.
pip3 install --user django
문제가 해결되었습니다.