1

Ich habe versucht, scipy Arbeiten an einer Beanstalk-Anwendung zu bekommen. Im Grunde habe ich eine Python-Web-App, die ich mit Flask und ein paar anderen Bibliotheken einschließlich Scipy entwickle. In meinem Projektverzeichnis habe ich nur 3 Dateien. Sie sind:Scipy scheint unmöglich zu sein, an Beanstalk zu arbeiten

application.py 
requirements.txt 
.ebextensions/python.config 

Meine application.py Datei ist sehr einfach und nicht viel Substanz enthält, die meine Probleme verursachen könnte so nicht fügen Sie den Code in es hier. Meine requirements.txt Datei enthält folgende Komponenten:

Flask==0.10.1 
itsdangerous==0.24 
Jinja2==2.9.6 
MarkupSafe==1.0 
numpy==1.12.1 
scipy==0.19.0 
scikit-learn==0.18.1 
sklearn==0.0 
Werkzeug==0.12.2 

und meine .ebextensions/python.config Datei enthält folgende Komponenten:

packages: 
    yum: 
    make: [] 
    gcc-c++: [] 
    gcc-gfortran: [] 
    python-devel: [] 
    atlas-sse3-devel: [] 
    lapack-devel: [] 
    libpng-devel: [] 
    freetype-devel: [] 
    zlib-devel: [] 
container_commands: 
    AddGlobalWSGIGroupAccess: 
    command: "if ! grep -q 'WSGIApplicationGroup %{GLOBAL}' ../wsgi.conf ; then echo 'WSGIApplicationGroup %{GLOBAL}' >> ../wsgi.conf; fi;" 

ich im Grunde nur die Kolben App einrichten und erhalten arbeiten vor Ort vor benutze den Elastic Beanstalk cli auf meinem mac, um zu versuchen, meine lokale App an Beanstalk zu senden und sie als Webseite laufen zu lassen. So, nachdem ich alle pip installiert getan und ein eb init ich folgendes in meinem Terminal tun:

eb create flask-env 

Dies läuft für ein bisschen, aber dann scheitert die folgende Fehlermeldung geben:

ERROR: Your requirements.txt is invalid. Snapshot your logs for details. 
ERROR: [Instance: i-00b93584dae09f4d2] Command failed on instance. Return code: 1 Output: (TRUNCATED)...) 
    File "/usr/lib64/python2.7/subprocess.py", line 541, in check_call 
    raise CalledProcessError(retcode, cmd) 

ich dann Überprüfen Sie meine Datei eb-activity.log, um das Problem besser zu verstehen. In der eb-activity.log ist so viel Zeug, das wie es mit diesem Fehler zu tun hat, sieht aber einige der nützlichsten Fehlermeldungen in der Protokolldatei sind die folgenden:

File "scipy/linalg/setup.py", line 20, in configuration 
      raise NotFoundError('no lapack/blas resources found') 
     numpy.distutils.system_info.NotFoundError: no lapack/blas resources found 

lapack_info: 
     libraries lapack not found in ['/opt/python/run/venv/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] 
     NOT AVAILABLE 

openblas_lapack_info: 
     libraries openblas not found in ['/opt/python/run/venv/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] 
     NOT AVAILABLE 

Wie Sie diese Fehler berichten Nachrichten in den Protokollen sind ziemlich ausführlich und schwer zu interpretieren. Nachdem ich gegoogelt hatte, dachte ich, dass mein Problem von scipy (und vielleicht numpy) herrührte, mit einer Reihe von Abhängigkeiten, die nicht mit Python verwandt sind und die pip nicht behandelt.

Ich dachte, basierend auf einigen anderen Antworten fand ich, dass meine .ebextensions/python.config würde dieses Problem beheben, aber es scheint nicht - noch erscheint es sogar in meinem Verzeichnis, wie es mit einem '.'. Mache ich etwas kleines etwas falsches oder was?

Update: Ich bin auf Mac OS, wenn das auch zählt. Ich fand einige Sachen, die auf den in den Kommentaren vorgeschlagenen Link hilfreich schienen, aber das scheint veraltet zu sein (wie in den Kommentaren zu der Antwort zu lesen) und nicht spezifisch für Mac OS und scheint daher irgendwie nutzlos.

+0

Diese Antwort könnte helfen: https://stackoverflow.com/a/14639949/4638378 – Brian

+0

Ihr letzter Fehlerblock ist ziemlich einfach zu interpretieren. Info 1: 'NotFoundError: keine lapack/blas resources found'. Info 2: 'Bibliothek lapack nicht gefunden in [Orten, wo es sein sollte]'. Info 3: 'Bibliotheken openblas nicht in [Orten, wo es sein sollte]' gefunden. Dies deutet darauf hin, dass lapack/blas eine fehlende Abhängigkeit für scipy ist. –

+0

@AndrasDeak Wenn du das als Antwort posten willst, versuche ich es jetzt und werde es akzeptieren, wenn es funktioniert! –

Antwort

1

Sie vermissen nur ein paar Abhängigkeiten. Versuchen Sie homebrew mit der Entwicklung auf dem Mac:

brew install numpy --with-openblas 
brew install scipy --with-openblas 

Theano hat ähnliche Abhängigkeiten und liefert ein paar Methoden für die Installation in verschiedenen Umgebungen: http://deeplearning.net/software/theano/install_macos.html

Verwandte Themen