2016-05-17 12 views
1

Ich habe einen ‚custom‘ Fischer Exact Test heruntergeladen, die auf der R-Funktion basieren, die wiederum von C/Fortran (source)Python Import von kompilierten Funktionen

Das Paket zusammengestellt wurden enthalten die Hauptdatei/Funktion (Fisher.py), die wiederum Funktionen aus den Dateien fexact, asa159 und asa205 importiert. Das Problem ist, dass diese Dateien ein C-shared-Objekt sind, d. H. Eine .so-Erweiterung haben und python sie beim Import nicht erkennt; einen Fehler geben.

...customlib/fexact.so, 2): no suitable image found. Did find: 
    .../customlib/fexact.so: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00 

Nicht sicher, wie man damit umgeht.

Fisher.py enthält:

import customlib.fexact as f 
    from customlib.fexact import fisher_exact as f_exact 
    from customlib.asa159 import rcont2 
    from customlib.asa205 import enum as rcont 

customlib Ordner enthält: 1. ein __init__ 2. asa159.so 3. asa205.so 4. fexact.so

Antwort

1

Führen Sie das recompile Skript im Paket zur Verfügung gestellt. Die Bibliotheken werden für das System kompiliert, das der ursprüngliche Autor verwendet hat, und sind nicht systemübergreifend übertragbar. Möglicherweise müssen Sie den Anruf von f2py aktualisieren, um auf die richtige Version für Ihre Verwendung zu zeigen.

+0

Ich habe es tatsächlich geschafft, dies zu tun. Zuerst musste ich einen gfortran Compiler installieren, um f77 und f90 auszuführen und dann neu zu kompilieren. Danke trotzdem. Antwort angenommen! – dter

Verwandte Themen