[python] pip install : 해당 디렉토리의 권한과 소유자를 확인하십시오

pip와 python을 설치하는 동안 다음과 같은 내용이 나왔습니다.

‘/ Users / Parthenon / Library / Logs / pi’디렉토리 또는 상위 디렉토리가 현재 사용자의 소유가 아니며 디버그 로그가 사용 불가능합니다. 해당 디렉토리의 권한과 소유자를 확인하십시오. sudo와 함께 pip를 실행하는 경우 -H 플래그가 필요할 수 있습니다.

이제을 사용하여 설치해야하기 때문 sudo입니다.

파이썬과 소수의 라이브러리가 이미 Mac에 설치되어 있는데 요세미티를 실행 중입니다. 최근에 깨끗하게 닦아 낸 다음 OS를 다시 설치해야했습니다. 이제이 프롬프트가 표시되고 변경 방법을 알아내는 데 어려움이 있습니다.

내 명령 라인이되기 전에 Parthenon$지금이다Philips-MBP:~ Parthenon$

나는이 컴퓨터의 유일한 소유자이며 이것이 유일한 계정입니다. 이것은 파이썬 3.4로 업그레이드 할 때 문제가되는 것 같습니다. 적절한 곳에있는 것 같지 않으며 virtualenv는 내가 기대하는 곳으로 가지 않습니다.



답변

또한을 실행 한 후 Mac에서이 변경 사항을 확인 pip했습니다 sudo pip. -Hsudo에 추가 하면 메시지가 사라집니다. 예 :

sudo -H pip install foo

man sudo대상 사용자 (이 경우 루트) 로 설정 되는 -H원인 sudo을 알려줍니다 $HOME.

그래서 핍으로 찾고 표시 $HOME/Library/Logsudo설정되지 기본적으로 $HOME/root/. 놀랍게도 ~/Library/Log루트가 아닌 사용자로서 귀하가 소유하고 있습니다.

나는 이것이 최근 핍의 변화라고 생각합니다. 나는 sudo -H지금 해결하기 위해 그것을 실행할 것이다 .


답변

여기서 문제는 어떻게 든 사용하여 virtualenv에 설치한다는 것 sudo입니다. 아마 우연히. 즉, root사용자는 Python 패키지 데이터를 다시 작성하여 루트가 소유 한 모든 파일을 만들며 일반 사용자는 더 이상 해당 파일을 쓸 수 없습니다. 일반적으로 virtualenv는 일반 UNIX 사용자 만 사용하고 소유해야합니다.

UNIX 파일 사용 권한 팩을 사용자로 변경하여 문제를 해결할 수 있습니다. 시험:

$ sudo chown -R USERNAME /Users/USERNAME/Library/Logs/pip
$ sudo chown -R USERNAME /Users/USERNAME/Library/Caches/pip

그런 다음 pip해당 파일을 다시 쓸 수 있어야합니다.

UNIX 파일 권한 관리에 대한 추가 정보


답변

pip install --user <package name> (do sudo 필요 없음) 매우 비슷한 문제로 저를 위해 일했습니다.


답변

기본 정보

  • 시스템 : 맥 OS 18.0.0
  • 현재 사용자 : yutou

열쇠

  1. 휠 그룹에 현재 계정 추가
sudo dscl . -append /Groups/wheel wheel $(whoami)
  1. 파이썬 패키지 모드를 775로 수정하십시오.
chmod -R 775 ${this_is_your_python_package_path}

모든 일

  • python3이 잘 컴파일되면 정보는 질문이 말한 것과 같습니다.
  • 나는 사용하려고 노력했다 pip3 install requests.
File "/usr/local/python3/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied:
'/usr/local/python3/lib/python3.6/site-packages/requests'
  • 그래서 나는 cd /usr/local/python3/lib/python3.6/site-packages다음 ls -al을 얻었습니다.
drwxr-xr-x    6 root   wheel   192B  2 27 18:06 requests/

내가 이것을 보았을 때, makedirs는 쓰기 동작이지만, 요청 모드를 drwxrwxr-x대체 한 요청 모드 는 요청 파일을 쓸 수 있습니다. whoami그룹 휠 에 yutou ( )을 추가 하고 그룹 휠로 패키지를 수정하면 쓸 수 있고 쓸 수 있으며 문제가 해결됩니다.

그룹 휠에 yutou를 추가하는 방법? + 그룹 휠을 감지 sudo dscl . -list /groups GroupMembership하면 다음을 찾을 수 있습니다.

wheel                    root

그룹 휠에는 하나의 멤버 루트 만 있습니다. + 그룹 휠에 yutou를 추가하십시오 sudo dscl . -append /Groups/wheel wheel yutou. + 확인 sudo dscl . -list /groups GroupMembership:

wheel                    root yutou

파이썬 패키지 모드 수정

chmod -R 775 /usr/local/python3/lib/python3.6


답변

$ PATH 변수를 변경하면 문제가 발생할 수도 있습니다. 이것이 문제 일 수 있다고 생각되면 ~ / .bash_profile 또는 ~ / .bashrc를 확인하십시오.


답변