2014-06-19 11 views
6

Dies ist meine Entwicklungsumgebung:Python 2.7 mit Bloomberg API Import blpapi Ausfall

  • Windows 7 auf einem 64-Bit HP Pavilion Laptop
  • Python 2.7, 32-Bit im Ordner C: \ python27
  • Entwicklungsumgebung ist Eclipse mit PyDev, aber das scheint keine Rolle zu spielen, denn ich bekomme die gleiche Art von Fehler, ob ich Anaconda oder Notepad ++ benutze.
  • Python 2.7 Binary Installer for Windows - 32-bit v3.5.3 Nachdem Sie den Umgebungspfad in Windows für Python festgelegt haben, findet und installiert die BLPAPI das Verzeichnis C: \ Python27 und erstellt C:\Python27\Lib\site-packages\blpapi.

Zurück zu meiner 32-Bit-Installation von Python und BLPAPI Ich habe versucht, den 64-Bit-Python 2.7 mit der 64-Bit-BLPAPI Installation, aber die Ergebnisse sind die gleiche für 64- oder 32-Bit.

Mein Python-Skript fehlschlägt auf diese Zeile: import blpapi

PyDev erzeugt diesen Fehlercode:

Traceback (most recent call last): 
    File "C:\Users\Greg\workspace2\Bloomberg\src\TestImport.py", line 1, in <module> 
    import blpapi 
    File "C:\Python27\lib\site-packages\blpapi\__init__.py", line 5, in <module> 
    from .internals import CorrelationId 
    File "C:\Python27\lib\site-packages\blpapi\internals.py", line 50, in <module> 
    _internals = swig_import_helper() 
    File "C:\Python27\lib\site-packages\blpapi\internals.py", line 46, in swig_import_helper 
_mod = imp.load_module('_internals', fp, pathname, description) 
ImportError: DLL load failed: The specified module could not be found. 

Antwort

10

traf ich ein ähnliches Problem, und verbrachte einige Zeit, um das Problem mit Bloomberg-Helpdesk zur Fehlerbehebung. Hier ist, was ich gelernt habe:

Der ImportError ist das Ergebnis von Bloomberg nicht in der Lage, die "blpapi3_32.dll" DLL-Datei zu finden. Diese DLL-Datei kann sich unter dem Ordner \ bin oder \ lib von Bloombergs C/C++ - Bibliothek befinden, die sich am selben Ort befindet, an dem Sie Ihre Python-Programmdatei gefunden haben. Gehen Sie also zum Download dieser Bibliothek (v3.7.5.1 zum Zeitpunkt des Schreibens) und lassen Sie die Umgebungsvariable "Pfad" Ihres Systems diesen Speicherort enthalten. Dies sollte das Problem beheben.

PS: Sie können die PATH-Variable über Start> rechter Mausklick auf "Computer"> Eigenschaften> Erweiterte Systemeinstellungen> Erweitert (Registerkarte)> Umgebungsvariablen> unter "Systemvariablen" nach der Variable "Pfad" suchen. Bearbeiten Sie diese Variable, um den Speicherort der DLL-Datei, z. Wenn die ursprüngliche Pfadvariable "C: \ Python27 \ Lib \ Site-Pakete \ PyQt4" lautet, sollte die neue Pfadvariable "C: \ Python27 \ Lib \ Site-Pakete \ PyQt4; C: \ blp \ API \ blpapi_cpp_3" lauten. 7.5.1 \ bin“

+0

Gelöst. Keng Onn Regeln! – TARKUS

+0

Vielen Dank! Es hat auch für mich funktioniert. –

6

Hinweis: dieser Artikel von Bloomberg:

um für python-Skripte Bloomberg API-Funktionen aufrufen, die Bibliotheken als Teil des SDK Bloomberg C++ verteilt sein muss zur Verfügung der Python-Interpreter. Schritt 3 der obigen Installation, , ermöglicht die systemweite Installation dieser Bibliothek. Linux/Solaris/* nix Benutzer ohne systemweite Installationen müssen die Umgebungsvariable LD_LIBRARY_PATH (oder DYLD_LIBRARY_PATH unter Darwin/MacOS X) auf festlegen, einschließlich des Verzeichnisses, das die gemeinsamen Bibliotheken blpapi3 enthält. Windows Benutzer müssen möglicherweise die PATH-Variable auf das Verzeichnis festlegen, das blpapi3_32.dll oder blpapi3_64.dll enthält. (Beachten Sie, dass Windows-Benutzer mit der installierten Bloomberg Terminal-Software bereits über Versionen dieser -Bibliotheken in ihrem PATH verfügen.

)

Also, was ich tat (sehr ähnlich zu Keng Onn Antwort) war:

  1. Download the C/C++ lib for Windows

  2. Extrahieren von Dateien aus blpapi_cpp_3.8.8.1.zip (oder ähnlich)

  3. Kopieren blpapi3_32.dll aus dem Ordner bin und fügen Sie es überall sicher

In meinem Fall klebte ich es in C: \ Python27 \ Lib \ site-packages \ blpapi

  1. diesen Weg in Ihre Umgebungsvariable PATH

    • klicken Sie auf „Start“/Rechtsklick auf „Computer“/Eigenschaften/Erweiterte Systemeinstellungen/Registerkarte Erweitert/Umgebungsvariablen

    • Doppelklick auf „Path“ unter „Systemvariablen“ -Liste

    • In
    • ein Semikolon (;) und Ihren Weg wie unten

  2. gesehen

Für mich: C: \ Python27 \ Lib \ site-packages \ blpapi

enter image description here

Jetzt es sollte für dich gut funktionieren. Ich hoffe es hilft.

0

Ich hatte das gleiche Problem, das einfach nach der Aktualisierung der Bloomberg-Terminal-Anwendung gelöst wurde.