aws eb部署错误:找不到与anaconda-client == 1.6.9

时间:2018-09-26 22:27:45

标签: python django amazon-web-services amazon-elastic-beanstalk

我对AWS和通用编码非常陌生。我编写了一个小型Django应用程序,现在我尝试借助此URL使用弹性beantalk将其部署在AWS上。 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html

我的应用程序使用需要psycopg2软件包的Postgres数据库,该软件包已添加到我的requirements.txt文件中。 (这不是此URL上的说明的一部分,但我知道我需要psycopg2,所以我添加了)

当我使用eb create django-env创建EB环境时,出现以下错误:

我从EC2 /var/log/获取的日志。

这是错误:

  

[2018-09-26T21:44:20.502Z]信息[3151]-[应用程序部署   app-d840-180926_224155 @ 1 / StartupStage0 / AppDeployPreHo ok / 03deploy.py]   :正在启动活动... [2018-09-26T21:44:21.774Z]信息[3151]-   [应用程序部署   app-d840-180926_224155 @ 1 / StartupStage0 / AppDeployPreHo ok / 03deploy.py]   :活动执行失败,因为:收集雪花石膏== 0.7.10   (来自-r / opt / python / ondeck / app / requi rements.txt(第1行))       正在下载https://files.pythonhosted.org/packages/2e/c3/9b7dcd8548cf2c00531763ba154e524af575e8f36701bacfe5bcadc674   40 / alabaster-0.7.10-py2.py3-none-any.whl收集   anaconda-client == 1.6.9(来自-r   /opt/python/ondeck/app/requirements.txt(第2行))       找不到满足anaconda-client == 1.6.9要求的版本(来自-r / opt / python / ondeck / app / requi   rements.txt(第2行))(来自版本:1.1.1、1.2.2)无匹配项   找到anaconda-client == 1.6.9的发行版(来自-r   /opt/python/ondeck/app/requirements.txt(第2行)) 您正在使用   pip版本9.0.1,但可用版本18.0。   请考虑通过“ pip install --upgrade pip”命令进行升级。
  2018-09-26 21:44:21,768错误安装依赖项时出错:   命令'/ opt / python / run / venv / bin / pip install -r / opt /   python / ondeck / app / requirements.txt'返回了非零退出状态1
  追溯(最近一次通话):       主文件第22行中的文件“ /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py”         install_dependencies()       在install_dependencies中的第18行,文件“ /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py”         check_call('%s install -r%s'%(os.path.join(APP_VIRTUAL_ENV,'bin','pip'),requirements_file),shell = True)       在check_call中的文件“ /usr/lib64/python2.7/subprocess.py”,第186行         提高CalledProcessError(retcode,cmd)CalledProcessError:命令'/ opt / python / run / venv / bin / pip install -r   /opt/python/ondeck/app/requirements.txt'返回非零退出   状态1(执行者:: NonZeroExitStatus)

我的Django项目的settings.py文件具有psycopg2

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'test',
        'USER': 'postgres',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '5432',
        'TEST': {
            'NAME': 'testdb',
        },
    }
}

[编辑]我的requirements.txt文件是:

c:\Users\abhi\OneDrive\Python-Projects\myproject>cat requirements.txt
Django==2.1.1
psycopg2==2.7.5
pytz==2018.5

我的问题是:

  1. 如何解决此问题?
  2. 为什么要说您使用的是pip版本9.0.1,但是可以使用版本18.0?,我确定使用的是pip 18.0。
  3. 为什么说-收集anaconda-client == 1.6.9 ?我要安装psycopg2,而不是anaconda

这是我的辅助项目,我不知道如何解决。

1 个答案:

答案 0 :(得分:0)

好吧,您的requirements.txt列出了anaconda-client==1.6.9。 PyPi上唯一可用的相同版本是1.1.1 and 1.2.2As far as the Github project确实存在1.6.9,但是PyPi / pip并不知道它,因为它从未发布到PyPi。您的选择是:

  1. 在requirements.txt中列出anaconda-client 1.2.2 / 1.1.1
  2. 要通过conda安装anaconda-client
  3. anaconda-client的源代码捆绑到您的项目中,以便避免完全安装它。