erro devido a f2py não instalado corretamente: como corrijo?

1

link Eu estou tentando executar o código BdG-TMAT. A pasta aqui tem arquivos Fortran e python, já que o arquivo principal de execução BDG_K.py usa algumas funções de fortran. Então, para executar o código fortran, eu uso um conversor f2py que converte tmatf.f90 em tmatf.so. O f2py vem instalado automaticamente com o numpy. De make do BdG-Tmat, recebo o seguinte erro devido a um problema com f2py:

- f2py -lgsl -llapack -lcblas -c potsub.f90 potsubi.o -m potsub 
Traceback (most recent call last):
  File "/usr/local/bin/f2py", line 3, in <module>
    import f2py2e
  File "/usr/local/lib/python2.7/dist-packages/f2py2e/__init__.py", line 10, in <module>
    import f2py2e
  File "/usr/local/lib/python2.7/dist-packages/f2py2e/f2py2e.py", line 26, in <module>
    import crackfortran
  File "/usr/local/lib/python2.7/dist-packages/f2py2e/crackfortran.py", line 1588
    as = b['args']
     ^
SyntaxError: invalid syntax
make: *** [potsub.so] Error 1

Não sei como corrigir isso, embora tenha conferido crackfortran.py Por favor ajude.

Muito obrigado antecipadamente.

    
por cleanplay 06.04.2014 / 22:14

1 resposta

3

Esse bug é causado por as se tornando uma palavra-chave no Python 2.6 (veja também link ). A versão atual do numpy não contém mais este bug:

link

A linha (suposta) ofensiva foi movida para a linha 2126 e agora lê args = block['args'] .

Portanto, a solução será obter uma versão recente do numpy ou uma versão pré-2.6 do Python.

    
por 12.04.2014 / 23:23

Tags