我正在尝试通过 AWS EB 让我的 Django 应用程序上线,但是当我按照教程中显示的步骤进行操作时,http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html,它一直给我一个错误,说"您的要求.txt无效。我想我在尝试安装我要求的GDAL 2.1.0时遇到错误.txt
以下是我拥有的一些配置文件:
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"
以及我收到的错误消息/日志:
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)
欢迎就如何解决此问题提出任何建议。
仅供参考:我已经尝试了 radtek 在这篇文章中的答案 - 使用 PostGIS 配置 Amazon Elastic Beanstalk 没有运气。还尝试了其他与他的答案类似的方法。
谢谢。
这可能是因为缺少开发包。所以你可以尝试像这样安装"gdal-dev"
yum --enablerepo=epel -y install gdal gdal-devel
我通过在package.config文件上创建一个巨大的命令来解决问题
我添加了这一行:
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"
从那时起,点安装 GDAL 工作完美。 如果有人卡住,希望这会有所帮助。免责声明:对于使用不同环境/设置/等的人来说可能会有所不同。