Ich habe Probleme bei der Installation der Python-Pakete PyTransit und Ktransit zu Anaconda 3 (unter Linux). Es scheint, als hätten viele andere ähnliche Fehler gehabt, aber keine ihrer Lösungen hat für mich funktioniert. Es gibt ein paar Sachen los:Pip, pip3 und in Konflikt stehende Python-Distributionen
pip install ktransit
gibt:
/usr/bin/ld: /home/name/anaconda3/lib/libgfortran.a(pause.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/home/name/anaconda3/lib/libgfortran.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Ich würde versuchen, --enable-shared zu verwenden configure mit, aber es gibt keine Konfigurationsdatei. Ich habe versucht, extra_compile_args = ["-fPIC"], extra_link_args=["-fPIC"]
zu setup.py hinzuzufügen (wie in https://github.com/h5py/h5py/issues/851), aber das tat nichts.
pip install pytransit
gibt verschiedene Fehler:
#warning "Using deprecated NumPy API, disable it by " \
Warning: src/gimenez.f90:35: Illegal preprocessor directive
Warning: src/gimenez.f90:36: Illegal preprocessor directive
Warning: src/gimenez.f90:37: Illegal preprocessor directive
src/gimenez.f90:271.33:
real(8), dimension(CHUNK_SIZE, npol) :: d
1
Error: Symbol 'chunk_size' at (1) has no IMPLICIT type
Hier ist, wo es interessant wird. Mit pip3 (oder sudo pip) kann ktransit erfolgreich installiert werden, tut aber nichts für pytransit. Pip und PIP3 scheinen an verschiedene Orte gebunden zu werden:
which pip
/home/name/anaconda3/bin/pip
which pip3
/usr/local/bin/pip3
which python
/home/name/anaconda3/bin/python
Schließlich Wenn ich versuche, ktransit in einem jupyter Notebook über Anakonda zu importieren, ist es nicht, aber wenn ich ktransit im Jupyter QtConsole importieren, es gelingt, aber scheint sich selbst zu enthalten und bietet keine tatsächliche Funktionalität. Was ich meine ist, dass ich nichts im Modul verweisen kann, und:
Help on package ktransit:
NAME
ktransit
PACKAGE CONTENTS
ktransit (package)
setup
FILE
(built-in)
Ich denke, dass, was auch immer Version von Python mit/usr/bin mit mir irgendwie durcheinander verbunden ist ... oder vielleicht Irgendwas stimmt nicht mit meinem gcc oder libgfortran? Ich habe gcc-Versionen 4.8.5 und 6 (gcc --version gibt 4.8.5, aber -update-Alternativen sagt, es gibt nur eine Version, 6).
Danke, dass Sie sich die Zeit genommen haben, bis hierher zu lesen. Ich wäre sehr dankbar für Anregungen oder Ideen!
Ich weiß nicht, was Sie installieren möchten, aber bin überrascht, dass Sie Pip und Pip3 verwenden. Finden Sie heraus, welche Version von Python Sie benötigen und bleiben Sie dabei. Ich würde vorschlagen, das, was Sie bisher gemacht haben, rückgängig zu machen und mit einer sauberen Weste zu beginnen. Und Sie können Ihre Frage aktualisieren, sodass sie sich auf eine Python-Version konzentriert. – Nagev