2017-11-01 8 views
0

나는 탄력있는 콩팥 모양을 사용하여 개인 웹 사이트를 aws에 배치하려고합니다. 내 웹 사이트는 django/python에 있습니다. 동일한 문제가 계속 발생합니다. 때마다 나는 AWS 콘솔에서 다음과 같은 오류를 얻을 파일 업로드 :AWS에 django를 배치 할 때의 문제

Your requirements.txt is invalid. Snapshot your logs for details. 

확인을, 그래서 로그를 확인하고 비트에서 나는 다음과 같은주의 사항 :

Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 2Traceback (most recent call last): 
File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 22, in main 
    install_dependencies() 

pip version 7.1.2, however version 9.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command. 

내가 봤 많은 발견 이 문제가 발생했습니다. 그들은 핍을 업데이트하고 의존성을 수동으로 설치하도록 제안했습니다. 그래서 서버에 로그인하고 pip를 업데이트했습니다. 붐, 또 다른 문제. pip - version을 입력 할 때 pip 9.0.1로 업데이트 한 후 다음을 얻습니다.

-bash: /usr/bin/pip: no such file or directory 

나는 이걸 계속 진행할 수 없습니다. 나는 탄력있는 콩주루가 쉬울 거라고 생각했지만 점점 더 많은 물건을 얻고있다. 오늘 모든 테스트가 끝난 후 나는 지혜롭게 끝나고있다. 이걸로 어떤 도움을 요청할 수 있을까요? 다음에 무엇을해야합니까? AWS가 그런 것들을 지원하지 않는다고 생각합니까? 감사합니다. .

편집. 파이썬 3.6 및 장고 1.11.4 사용하고 있습니다.

편집 2 : requirements.txt 및 01_packages.config하고 여기에

을 django.config이 추가가 requirements.txt입니다 : 여기

altgraph==0.14 
argon2-cffi==16.3.0 
awsebcli==3.12.0 
botocore==1.7.36 
cement==2.8.2 
cffi==1.10.0 
colorama==0.3.7 
cx-Freeze==5.0.2 
Django==1.11.4 
django-bootstrap3==9.0.0 
django-braces==1.11.0 
dnspython==1.15.0 
docker-py==1.7.2 
dockerpty==0.4.1 
docopt==0.6.2 
docutils==0.14 
et-xmlfile==1.0.1 
future==0.16.0 
idna==2.6 
jdcal==1.3 
jmespath==0.9.3 
macholib==1.8 
olefile==0.44 
pathspec==0.5.0 
pefile==2017.9.3 
Pillow==4.2.1 
python-dateutil==2.6.1 
pytz==2017.2 
PyYAML==3.12 
requests==2.9.1 
semantic-version==2.5.0 
six==1.10.0 
tabulate==0.7.5 
termcolor==1.1.0 
untangle==1.1.1 
virtualenv==15.1.0 
websocket-client==0.44.0 

하는 01_packages.config 파일입니다 :

packages: 
    yum: 
    altgraph: [] 
    argon2-cffi: [] 
    awsebcli: [] 
    botocore: [] 
    cement: [] 
    cffi: [] 
    colorama: [] 
    Django: [] 
    django-bootstrap3: [] 
    django-braces: [] 
    dnspython: [] 
    dockerpty: [] 
    docopt: [] 
    future: [] 
    idna: [] 
    macholib: [] 
    pathspec: [] 
    Pillow: [] 
    python-dateutil: [] 
    PyYAML: [] 
    untangle: [] 

그리고 여기 django.config가 있습니다 :

option_settings: 
"aws:elasticbeanstalk:container:python": 
    WSGIPath: "davidbiendotcom/wsgi.py" 

답변

0

확인할 사항은 두 가지입니다.

첫째, 핍을 실행하기 전에 당신은 입력하여 올바른 가상 환경에서 얻을 필요가 :

source /opt/python/run/venv/bin/activate 
source /opt/python/current/env 

이 두 번째로, 당신은 당신의 ebextensions 파일의 오른쪽 부분의 명령을 실행하고 있는지 확인하십시오. here을 보면 이전에 가지고 있던 문제의 다른 명령 섹션에 대한 설명을 볼 수 있습니다. pip를 업그레이드해야하는 경우 container_commands 섹션에서 수행해야합니다.

위의 첨부 파일을 검토하면 yum을 사용하여 너무 많이 설치하려고한다고 생각합니다.

option_settings: 
packages: 
yum: 
    mysql-devel: [] 
    gcc: [] 
    make: [] 
    gcc-c++: [] 
    libjpeg-turbo-devel: [] 
    python26-devel: [] 
    postgresql94-devel: [] 
    libcurl-devel: [] 

container_commands: 
    01_collectstatic: 
     command: "django-admin.py generate_favicon static/img/email_logo.png" 
     command: "find /opt/python/current/app/static -mmin -1440 | xargs touch" 
     command: "django-admin.py collectstatic --noinput --clear" 

    03_migrate: 
    command: "django-admin.py migrate --noinput" 
    leader_only: true 

    04_wsgipass: 
    command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf' 

그리고 주사위를 사용하여 자동으로 설치해야 다른 패키지 :

나는 이런 장고 설정을 건의 할 것입니다.

pip 버전에 여전히 문제가 있으면 requirements.txt를 사용하여 다른 패키지를 설치하고 pip 명령을 업그레이드하고 추가 컨테이너 명령을 사용하여 최종 패키지를 설치해야 할 수 있습니다.

아직도 어려움을 겪고 계시다면 ebextensions 파일과 요구 사항을 게시하십시오.txt

+0

requirements.txt, django.config 및 packages.config에 대한 자세한 내용을 추가했습니다. 이 패키지 파일을 실행할 때 yum이 awsebcli를 찾을 수 없다는 오류가 발생했습니다. – davidb

+0

방금 ​​편집 됨 : yum을 (를) 사용하여 너무 많이 설치하려고합니다. – Tom

+0

내일 시도 할 것입니다. 그래도 작동하지 않는다면 가상 환경에서 새 프로젝트를 만들고 처음부터 시도 할 것입니다. (어쨌든 코드를 얻었습니다). 일단 내가 끝나면 나는 당신의 메시지를 대답으로 표시 할 것입니다. 도와 줘서 고마워. – davidb