2017-02-01 4 views
0

J'essaie de faire vivre mon application Django via AWS EB mais quand je suis les étapes montrées sur le tutoriel, http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html, il continue à me donner une erreur en disant "votre requirements.txt est invalide." Je pense que je reçois l'erreur quand il essaie d'installer GDAL 2.1.0 je sur requirements.txtinstaller gdal sur eb créer/déployer échouer

voici quelques-uns des fichiers de configuration que j'ai:

project.config

option_settings: 
    "aws:elasticbeanstalk:application:environment": 
     DJANGO_SETTINGS_MODULE: "hungryboat.settings" 
     PYTHONPATH: "/opt/python/current/app/src:$PYTHONPATH" 
    "aws:elasticbeanstalk:container:python": 
     WSGIPath: "hungryboat/wsgi.py" 
command: 
    01_pip_update: 
     command:"pip install --upgrade pip" 

packages.config

packages: 
    yum: 
     git: [] 
     libtiff-devel: [] 
     libjpeg-turbo-devel: [] 
     libzip-devel: [] 
     freetype-devel: [] 
     postgresql95-devel: [] 
     geos: [] 
     libmemcached: [] 
     libmemcached-devel: [] 
     cyrus-sasl-devel: [] 
     zlib-devel: [] 
command: 
    01_gdal: 
     command:"yum --enablerepo=epel -y install gdal" 

et le message d'erreur/log je reçois:

Traceback (most recent call last): 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 118, in fetch_config 
     p = subprocess.Popen([command, args], stdout=subprocess.PIPE) 
    File "/usr/lib64/python3.4/subprocess.py", line 859, in __init__ 
     restore_signals, start_new_session) 
    File "/usr/lib64/python3.4/subprocess.py", line 1457, in _execute_child 
     raise child_exception_type(errno_num, err_msg) 
    FileNotFoundError: [Errno 2] No such file or directory: '../../apps/gdal-config' 

    During handling of the above exception, another exception occurred: 

    Traceback (most recent call last): 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 166, in get_gdal_config 
     return fetch_config(option, gdal_config = self.gdal_config) 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 122, in fetch_config 
     raise gdal_config_error(e) 
    __main__.gdal_config_error: [Errno 2] No such file or directory: '../../apps/gdal-config' 

    During handling of the above exception, another exception occurred: 

    Traceback (most recent call last): 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 118, in fetch_config 
     p = subprocess.Popen([command, args], stdout=subprocess.PIPE) 
    File "/usr/lib64/python3.4/subprocess.py", line 859, in __init__ 
     restore_signals, start_new_session) 
    File "/usr/lib64/python3.4/subprocess.py", line 1457, in _execute_child 
     raise child_exception_type(errno_num, err_msg) 
    FileNotFoundError: [Errno 2] No such file or directory: 'gdal-config' 

    During handling of the above exception, another exception occurred: 

    Traceback (most recent call last): 
    File "<string>", line 20, in <module> 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 320, in <module> 
     **extra) 
    File "/usr/lib64/python3.4/distutils/core.py", line 148, in setup 
     dist.run_commands() 
    File "/usr/lib64/python3.4/distutils/dist.py", line 955, in run_commands 
     self.run_command(cmd) 
    File "/usr/lib64/python3.4/distutils/dist.py", line 974, in run_command 
     cmd_obj.run() 
    File "<string>", line 15, in replacement_run 
    File "/opt/python/run/venv/local/lib/python3.4/site-packages/setuptools/command/egg_info.py", line 207, in find_sources 
     mm.run() 
    File "/opt/python/run/venv/local/lib/python3.4/site-packages/setuptools/command/egg_info.py", line 291, in run 
     self.add_defaults() 
    File "/opt/python/run/venv/local/lib/python3.4/site-packages/setuptools/command/egg_info.py", line 320, in add_defaults 
     sdist.add_defaults(self) 
    File "/opt/python/run/venv/local/lib/python3.4/site-packages/setuptools/command/sdist.py", line 130, in add_defaults 
     build_ext = self.get_finalized_command('build_ext') 
    File "/usr/lib64/python3.4/distutils/cmd.py", line 299, in get_finalized_command 
     cmd_obj.ensure_finalized() 
    File "/usr/lib64/python3.4/distutils/cmd.py", line 107, in ensure_finalized 
     self.finalize_options() 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 195, in finalize_options 
     self.gdaldir = self.get_gdal_config('prefix') 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 175, in get_gdal_config 
     return fetch_config(option) 
    File "/tmp/pip-build-zju5440p/GDAL/setup.py", line 122, in fetch_config 
     raise gdal_config_error(e) 
    __main__.gdal_config_error: [Errno 2] No such file or directory: 'gdal-config' 

    ---------------------------------------- 
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-zju5440p/GDAL 
You are using pip version 7.1.2, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 
2017-02-01 06:13:28,277 ERROR Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 
Traceback (most recent call last): 
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 22, in main 
    install_dependencies() 
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 18, in install_dependencies 
    check_call('%s install -r %s' % (os.path.join(APP_VIRTUAL_ENV, 'bin', 'pip'), requirements_file), shell=True) 
    File "/usr/lib64/python2.7/subprocess.py", line 541, in check_call 
    raise CalledProcessError(retcode, cmd) 
CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 (Executor::NonZeroExitStatus) 

toute suggestion quant à la façon de résoudre ce problème est la bienvenue.

juste FYI: J'ai essayé la réponse par radtek sur ce post - Configuring Amazon Elastic Beanstalk with PostGIS sans chance. Aussi essayé d'autres semblables à sa réponse.

Merci.

Répondre

0

je résolu le problème en créant une commande énorme sur le fichier package.config

J'ai ajouté cette ligne:

commands: 
    01_gdal: 
     command: "wget http://download.osgeo.org/gdal/2.1.3/gdal-2.1.3.tar.gz && tar -xzf gdal-2.1.3.tar.gz && cd gdal-2.1.3 && ./configure && make && make install" 

Depuis lors, pip installer GDAL fonctionne parfaitement. J'espère que cela aide si quelqu'un est coincé. Disclaimer: Peut être différent pour les personnes utilisant un environnement/paramètres/etc. différent

3

Cela peut être dû à des packages de développement manquants. Ainsi, vous pouvez essayer d'installer « GDAL-dev » comme ce

yum --enablerepo=epel -y install gdal gdal-devel