pip 설치 실패: OSError: [Errno 13] 디렉터리에서 사용 권한이 거부됨
pip install -r requirements.txt
합니다.OSError: [Errno 13] Permission denied: '/usr/local/lib/...
무엇이 문제이고 어떻게 해결해야 합니까?(장고를 설정하려고 합니다)
Installing collected packages: amqp, anyjson, arrow, beautifulsoup4, billiard, boto, braintree, celery, cffi, cryptography, Django, django-bower, django-braces, django-celery, django-crispy-forms, django-debug-toolbar, django-disqus, django-embed-video, django-filter, django-merchant, django-pagination, django-payments, django-storages, django-vote, django-wysiwyg-redactor, easy-thumbnails, enum34, gnureadline, idna, ipaddress, ipython, kombu, mock, names, ndg-httpsclient, Pillow, pyasn1, pycparser, pycrypto, PyJWT, pyOpenSSL, python-dateutil, pytz, requests, six, sqlparse, stripe, suds-jurko
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1436, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 672, in install
self.move_wheel_files(self.source_dir, root=root)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 902, in move_wheel_files
pycompile=self.pycompile,
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 206, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 193, in clobber
os.makedirs(destsubdir)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/amqp-1.4.6.dist-info'
사용하기 보다는sudo
와 함께pip install
먼저 시도하는 것이 좋습니다.pip install --user
이 작업이 실패할 경우 여기에 있는 맨 위 게시물을 확인하십시오.
안 되는 는 ㅠㅠㅠㅠㅠㅠㅠsudo
는 다음과 같습니다.
를 을 여 하 실 때 할 행 사와 함께 할 때sudo
루트 사용자로 인터넷에서 임의의 파이썬 코드를 실행하고 있으며, 이는 상당히 큰 보안 위험입니다.누군가가 PyPI에 악의적인 프로젝트를 게시하고 사용자가 설치하면 공격자에게 시스템에 대한 루트 액세스 권한을 부여합니다.
옵션 a) 가상 환경을 생성하고 활성화한 후 설치:
virtualenv .venv
source .venv/bin/activate
pip install -r requirements.txt
옵션 b) 홈디어에 설치:
pip install --user -r requirements.txt
이 프로젝트의 요구 사항이 다른 프로젝트 요구 사항과 간섭하지 않도록 안전(a) 옵션을 사용하는 것이 좋습니다.
권한 없이 시스템 전체 경로에 패키지를 설치하려고 합니다.
일반적으로 다음을 사용할 수 있습니다.sudo
시스템 전체 경로에 패키지를 설치하기 위해 사용자 책임 하에 일시적으로 슈퍼 사용자 권한을 얻는 경우:sudo pip install -r requirements.txt
에 대해 자세히 알아보기sudo
여기에사실, 이것은 나쁜 생각이고 좋은 사용 사례가 없습니다. @wim의 댓글을 참조하십시오.
시스템 전체를 변경하지 않으려면 다음을 사용하여 사용자별 경로에 패키지를 설치할 수 있습니다.
--user
깃발필요한 것은 다음과 같습니다.
pip install --user runloop requirements.txt
마지막으로, 보다 세부적인 제어를 위해 개발 환경을 위한 우수한 솔루션인 가상 환경을 사용할 수도 있습니다. 특히 여러 프로젝트에서 작업 중이고 서로의 종속성을 추적하려는 경우에는 더욱 그렇습니다.
를 사용하여 가상 환경을 활성화한 후
$ my-virtualenv/bin/activate
다음 명령은 시스템 전체 경로가 아닌 가상 환경 내부에 패키지를 설치합니다.
pip install -r requirements.txt
Linux(Ubuntu 기반)에서 많은 어려움을 겪은 후에도 사용할 수 있었던 것이 무엇인지를 권한 거부 오류를 통해 명확히 설명하고 위의 Bert의 답변을 활용하여 이제 ...를 사용합니다.
$ pip install --user <package-name>
또는 요구사항 파일에서 pip을 실행하는 경우...
$ pip install --user -r requirements.txt
가상 환경 생성을 비롯한 모든 pip 설치에 대해 안정적으로 작동합니다.
하지만, 제 경험상 가장 깨끗한 해결책은 설치하는 것이었습니다.python-virtualenv
그리고.virtualenvwrapper
와 함께sudo apt-get install
시스템 수준에서.
그런 다음 가상 환경 내에서pip install
을 제외하고--user
플래그 및 없음sudo
전체적으로 훨씬 더 깨끗하고 안전하며 쉽습니다.
사용자에게 일부 Python 설치 경로에 대한 쓰기 권한이 없습니다.다음 방법으로 권한을 부여할 수 있습니다.
sudo chown -R $USER /absolute/path/to/directory
따라서 권한을 부여한 다음 다시 설치를 시도해야 합니다. 새 경로가 있는 경우 다음과 같은 권한도 부여해야 합니다.
sudo chown -R $USER /usr/local/lib/python2.7/
권한이 필요한 경우 'pip'을 'sudo'와 함께 사용할 수 없습니다.'sudo'를 사용하여 패키지를 설치할 수 있도록 트릭을 사용할 수 있습니다.pip 명령 앞에 'sudo python -m...'을 배치하면 됩니다.
sudo python -m pip install --user -r package_name
그것은 아래 명령에 의해 저를 위해 작동되었습니다.
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org PACKAGE_NAME --user
또는
pip install --user <package name>
예:
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org matplotlib --user
그래서 저는 완전히 다른 이유로 똑같은 오류를 얻었습니다.완전히 별개이지만 알려진 Homebrew + pip 버그 때문에 Google Cloud의 도움말 문서에 나열된 이 해결 방법을 따라 홈 디렉토리에 .pydistutils.cfg 파일을 만듭니다.이 파일에는 특정 라이브러리 설치에만 사용해야 하는 특수 구성이 있습니다.패키지를 설치한 후에 disutils.cfg 파일을 제거했어야 했는데 깜빡했습니다.그래서 나에게 해결책은 사실...
rm ~/.pydistutils.cfg
.
그리고 나서 모든 것이 정상적으로 작동했습니다.물론 실제 이유로 해당 파일에 구성이 있는 경우에는 해당 파일을 스트레이트로 정리하는 것을 원하지 않습니다.하지만 다른 사람이 그 문제를 해결하고 파일을 제거하는 것을 잊어버린 경우에 대비하여, 이것이 저에게 도움이 되었습니다!
그것은 정당한 허가 문제입니다.
sudo chown -R $USER /path to your python installed directory
기본값은 입니다./usr/local/lib/python2.7/
아니면 시도해 보세요.
pip install --user -r package_name
그리고는 말합니다.pip install -r requirements.txt
이것은 당신의 환경 안에 설치될 것입니다.
말하지 마,sudo pip install -r requirements.txt
이것은 임의의 파이썬 경로에 설치됩니다.
언급URL : https://stackoverflow.com/questions/31512422/pip-install-failing-with-oserror-errno-13-permission-denied-on-directory
'programing' 카테고리의 다른 글
프로그래머가 아닌 사람과 주피터 노트북을 공유하려면 어떻게 해야 합니까? (0) | 2023.07.17 |
---|---|
SQL*Plus에서 Oracle create table 문을 가져오는 방법 (0) | 2023.07.17 |
문자열 목록을 숫자로 정렬하는 방법은 무엇입니까? (0) | 2023.07.17 |
코코아 포드가 설치되지 않았거나 잘못된 상태임 (0) | 2023.07.17 |
Rails: 링크(URL)를 검증하는 좋은 방법은 무엇입니까? (0) | 2023.07.17 |