aws에서 장고를 설치하는데 pip install django 하면 자꾸 오류가 납니다
조회수 1963회
sudo 에서 pip 는 아예 안먹힘니다.
sudo easy_install pip 이렇게 치면
Searching for pip
Best match: pip 8.0.2
Adding pip 8.0.2 to easy-install.pth file
Installing pip script to /usr/local/bin
Installing pip3.5 script to /usr/local/bin
Installing pip3 script to /usr/local/bin
Using /usr/local/lib/python2.7/site-packages
Processing dependencies for pip
Finished processing dependencies for pip
이렇게 나오는데 pip 명령 치면 not found라고 합니다.
거기다가 sudo 가 아닐때는 pip가 되는데 pip install django 하면 error가 납니다.
OSError: [Errno 13] Permission denied: '/usr/local/lib64/python2.7/site-packages/Django-1.9.2.dist-info'
접근 금지가 떠서sudo에서 하려고 하는데 또 안되니까 미치겠습니다.. 도와주세요..ㅜㅜ
아마도 기존에 2.7 버전을 aws에서 지원하는데 3.4를 새로 깔면서 문제가 생기는거 같습니다...
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
pip를 입력했는데 command not found가 나오는 것은 실행 path에 pip가 설치된 디렉토리인 /usr/local/bin이 없어서 그런 것입니다. 이 경우는 PATH 환경 변수에 다음을 추가하시면 됩니다.
export PATH=/usr/local/bin:$PATH
이것을 .bash_profile 등에 추가해놓으면 로그인할 때마다 매번 실행할 필요가 없습니다. 참고로 현재 설정된 PATH 환경변수를 확인하려면
echo $PATH
를 실행하시면 됩니다.그리고, 루트가 아닌 일반 사용자가 pip가 실행되는 이유는 python 2.7용 pip가 실행 path에 설정되어 있기 때문인데 그 실행파일이 있는 디렉토리를 확인하려면
which pip
를 실행해보시면 됩니다.-
(•́ ✖ •̀)
알 수 없는 사용자
- [root@ip-172-31-27-63 bin]# ls pip pip2 pip2.7 pip3 pip3.5 /usr/local/bin 에 이렇게 다 설치가 이미 되어있는 상태입니다. echo $PATH 를 입력하면 /sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin 이런식으로 나오는데 어떤게 잘못됐을까요... 알 수 없는 사용자 2016.2.24 11:19
- 유닉스에서 명령어를 실행할 때 실행파일을 찾아야하는데 이 때 PATH 환경변수를 사용해서 실행파일을 찾습니다. 알려주신 PATH 환경변수를 보면 /sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin인데 여기에 /usr/local/bin이 있어야 새로 설치된 pip를 찾을 수 있습니다. 알 수 없는 사용자 2016.2.26 10:59
- root 계정으로 설치한 pip가 /usr/local/bin에 있기 때문에 (로그의 Installing pip script to /usr/local/bin 부분) 이 디렉토리를 PATH 환경변수의 제일 앞에 두어야 새로 설치한 pip가 실행되는 것이구요 알 수 없는 사용자 2016.2.26 11:00
- PATH 환경변수를 셋팅하려면 export PATH=/usr/local/bin:$PATH를 실행하시면 되고, 로그인할 때마다 실행되도록 하려면 이것을 .bash_profile이나 .profile에 추가하시면 됩니다. 알 수 없는 사용자 2016.2.26 11:02
-
-
만약 루트가 아닌 사용자에서 pip가 되는 경우, 다음과 같이 실행하시면 됩니다.
sudo env PATH=$PATH 명령어
다만, 매번 위와 같이 실행하는 것이 번거롭다면, /etc/sudoers 의 설정을 편집하면 됩니다.
sudo visudo
sudo 명령어 사용시, 현재 사용자의 PATH 환경변수를 적용하게 하려면
Defaults env_reset # 이 구문을 찾은 뒤에 Defaults env_keep = ... Defaults env_keep += ... ... Defaults env_keep += "PATH" # 이 문장을 추가하면됩니다.
이는 sudo 명령어 사용시 sudo 명령을 실행하고 있는 쉘의 환경변수를 유지하게 하는 설정입니다. 특정 사용자에게만 적용하려면 다음과 같이 Defaults 뒤에 :(콜론)을 붙인 후 허용할 계정이름을 써주면 됩니다.
Defaults:<username> env_keep += "PATH"
댓글 입력