我无法将python包PyTransit和ktransit安装到Anaconda 3(在Linux上)。似乎很多其他人都有类似的错误,但他们的解决方案都没有对我有用。有很多东西在继续:
pip install ktransit
给出:
/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
我会尝试使用./configure和--enable-shared,但是没有配置文件。我尝试将extra_compile_args = ["-fPIC"], extra_link_args=["-fPIC"]
添加到setup.py(如https://github.com/h5py/h5py/issues/851中所示),但这没有做任何事情。
pip install pytransit
会出现不同的错误:
#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
这里有趣的地方。使用pip3(或sudo pip)允许ktransit成功安装,但对pytransit没有任何作用。 Pip和pip3似乎与不同的地方联系在一起:
which pip
/home/name/anaconda3/bin/pip
which pip3
/usr/local/bin/pip3
which python
/home/name/anaconda3/bin/python
最后,当我尝试通过anaconda在jupyter笔记本中导入ktransit时,它会失败,但是当我在Jupyter QtConsole中导入ktransit时,它会成功,但似乎包含自身并且不提供实际功能。我的意思是我无法在模块中引用任何内容,并且:
Help on package ktransit:
NAME
ktransit
PACKAGE CONTENTS
ktransit (package)
setup
FILE
(built-in)
我在想,无论什么版本的python与/ usr / bin相关联都会让我感到不安......或者我的gcc或libgfortran可能有问题?我有gcc版本4.8.5和6(gcc --version给出4.8.5,但-update-alternatives表示只有一个版本,6)。
感谢您花时间阅读这篇文章。我会非常感谢任何建议或想法!
答案 0 :(得分:0)
想出来 - 我卸载了Anaconda,确保我的python指向正确的方向,然后使用sudo python -m pip install。感谢Nagev推动我摆脱Anaconda!