설치 후 awscli가 경로에 추가되지 않음 경고
Amazon 공식 지침에 따라 aws cli를 설치했습니다.
sudo pip install awscli
그러나 aws
내 길에서 수 없습니다. 설치할 것입니다. 에 여러 개의 파일이 /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli
저장되어 있습니다 aws
. 내 버전 버전은 3.3.4이고, 내 pip 버전은 1.5.4이며, OS X 10.9 에서이 명령을 실행합니다. 무엇이 잘못입니까?
감사합니다!
OP의 답변 개선
OP는 자체 답변에 답했지만 실행 파일의 정확한 위치는 동일 할 때보 다 가능할 가능성이 더 있습니다. 따라서 그의 솔루션이 작동하는 이유를 분석하여 자신에게 적용 할 수 있습니다.
문제에서
에 여러 파일이
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli
Aws라는 실행 파일은 없습니다.
에서 솔루션
해결책은
/Library/Frameworks/Python.framework/Versions/3.3/bin
내 PATH 에 추가 하는 것입니다.
뭔가를 배우자
동등한 경로를 비교하여 공통성을 찾으십시오.
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli
/Library/Frameworks/Python.framework/Versions/3.3/bin
공지 사항에서 분기하는 것이 lib
대 bin
. 그리고 OP에서 " aws라는 실행 파일이 없습니다. " 라고 명시한 것을 고려하십시오 . 이것이 우리의 첫 번째 학습 교훈입니다.
- 실행 파일은
lib
폴더 에없는 경향이 있습니다 . bin
공통 계보를 공유하는 폴더를 찾으십시오 .
이 경우 bin
다음을 통해 폴더를 찾는 것이 좋습니다.
find /Library/Frameworks/Python.framework -type d -name bin
그러나 그렇게하려는 경우 다음을 통해 실행 파일을 검색하는 것이 좋습니다.
find /Library/Frameworks/Python.framework -type f -perm -100 -name aws
# the `-` in `perm -100` means not an exact match of 100
# but any octal that includes 100
하지만 기다려
OP는 결혼식 모습을 어떻게 알았 /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/
습니까?
가장 쉬운 답은 다음 학습 교훈이기도합니다.
- 물건이 물건이 위치를 확인합니다.
방법은 다음과 가변합니다.
$ python -c 'import awscli; print(awscli)'
<module 'awscli' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/awscli/__init__.pyc'>
$ python3 -c 'import awscli; print(awscli)'
<module 'awscli' from '/System/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/awscli/__init__.py'>
2 개의 Python이 있고 둘 다 OP와 동일한 경로 또는 경로 패턴을 사용하지 않습니다.
우리가 배운 것을 적용하십시오
$ find /System/Library/Frameworks/Python.framework -type d -name bin
/System/Library/Frameworks/Python.framework/Versions/2.7/bin
/System/Library/Frameworks/Python.framework/Versions/3.6/bin
$ find /System/Library/Frameworks/Python.framework -type f -perm -100 -name aws
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/aws
/System/Library/Frameworks/Python.framework/Versions/3.6/bin/aws
보시다시피 2 개의 bin
폴더와 2 개의 실행 aws
파일이 있습니다. 아마도 Python3.6 버전을 사용하고 싶을 것입니다. 그러나 Python2.7 버전을 사용하는 원격 시스템에 시행 착오 작업을 수행하는 경우를 사용하고 싶습니다. 이것이 바로 제가 2 버전을 설치 한 이유입니다.
이것은 Mac에서 나를 위해 일했습니다.
sudo -H pip install awscli --upgrade --ignore-installed six
에서 http://docs.aws.amazon.com/cli/latest/userguide/cli-install-macos.html#awscli-install-osx-path
최신 macOS / OSX의 경우 ~/Library/Python/$version/bin
디렉토리 를 찾아 $PATH
. 하면 이렇게 aws
설치된 위치를 찾는 데 도움이됩니다 .
$ ls -d ~/Library/Python/*/bin/aws
/Users/bbronosky/Library/Python/3.6/bin/aws
그래서이 줄을 내 .bashrc
export PATH=$HOME/Library/Python/3.6/bin:$PATH
우분투에서 sudo없이 pip3으로 설치 한 경우 내 경로에 추가 할 올바른 위치는 ~/.local/bin
다음과 있습니다.
export PATH=$HOME/.local/bin:$PATH
해결책은
/Library/Frameworks/Python.framework/Versions/3.3/bin
내 PATH에.
pip show awscli
설치 위치를 찾는 데 사용할 수 있습니다 .
$ pip show awscli
Name: awscli
Version: 1.16.94
Summary: Universal Command Line Environment for AWS.
Home-page: http://aws.amazon.com/cli/
Author: Amazon Web Services
Author-email: UNKNOWN
License: Apache License 2.0
Location: /root/.local/lib/python2.7/site-packages
Requires: s3transfer, colorama, rsa, docutils, botocore, PyYAML
Required-by:
OSX 10.7에서 OSX 10.9로 업그레이드 한 후 aws 설치가 더 이상 작동하지 않습니다.
다음과 같은 오류를 관찰했습니다.
$ pip
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
working_set.require(__requires__)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: pip==1.5.5
운영 유틸리티 업그레이드로 인해 권한이 변경된 솔루션입니다.
공짜 단서 :
sudo pip <--- 작동
pip <--- 실패
그래서 이렇게했습니다.
sudo chmod -R a+r /Library/Python/
그런 다음 나중에 aws 명령을 다시 사용할 수 있습니다.
이것이 다른 사람들에게 도움이 될지 확실하지 않지만 믹스에 많이 생각했습니다.
virtualenv에 잘 때 : 'pip install awscli'(sudo 제외)는 OS X에서 작동했습니다. 그러나 CentOS 릴리스 6.6에서는 아닙니다. 예를 들어 'which aws'가 아무것도 찾지 못합니다. 해결책 :
chmod u+x /PATH-TO-YOUR-VIRTUALENV/bin/aws
paths
관리자 권한이있는 경우 파일을 직접 편집하십시오 .
관리자 권한이없는 경우 반드시 최상위 답변을 따르십시오.하지만 관리자 권한이있는 경우 .NET에있는 paths
파일을 직접 편집하는 것이 좋습니다 /etc/paths
.
선호하는 편집기를 사용하고 원하는 경로를 새 줄에 붙여 넣기 만하면됩니다.
샘플 paths
파일 :
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Users/username/Library/Python/3.6/bin #new path added here at bottom of file
상단 또는 하단에 또는 바이너리를 검색 할 위치에서 원하는 순서대로 붙여 넣습니다 (중복 된 이름을 가진 바이너리가있는 경우).
paths
파일을 사용하면 연결 구문을 기억해야하는 번거 로움이나 잘못된 내보내기 문을 작성할 때 발생할 수있는 문제를 줄일 수 있습니다.
일반적으로 실행 파일을 / usr / local / bin에 복사합니다.
cp $(find / -name aws) /usr/local/bin
Windows는 여기에서 소수 일 가능성이 있지만 PATH에 아래를 추가하면 저에게 효과적이었습니다. 참고로 pip를 통해 CLI를 설치했습니다.
C:\Python27\Scripts
Windows 10에서 비슷한 문제가 발생했습니다. 아래에 PATH
변수 를 추가해야했습니다.
대한 파이썬 :
C:\Users\kumar\AppData\Local\Programs\Python\Python37\
대한 PIP :
C:\Users\kumar\AppData\Local\Programs\Python\Python37\Scripts\
대한 awscli 작업에 :
C:\Users\kumar\AppData\Roaming\Python\Python37\Scripts
파이썬 버전을 확인했지만 파이썬 3.3을 사용하고 있다고 생각했습니다.
export PATH = $ HOME / Library / Python / 3.3 / bin : $ PATH
참고 URL : https://stackoverflow.com/questions/23332147/awscli-not-added-to-path-after-installation
'ProgramingTip' 카테고리의 다른 글
삼항 연산자? : vs if… else (0) | 2020.11.09 |
---|---|
주어진 파일을 포함하는 파일 시스템의 크기와 여유 공간 찾기 (0) | 2020.11.09 |
SDK에서 ASCII가 아닌 문자 (0) | 2020.11.09 |
$ 대 jQuery (0) | 2020.11.08 |
.NET에서 참조는 얼마나 섭섭니까? (0) | 2020.11.08 |