Я пытаюсь узнать, как скомпилировать fortran-код в python с помощью f2py. Я использую Python 2.7.10 (через Python (x, y)) и Mingw32 как мой компилятор. Я пытаюсь заставить это работать в 64-разрядной Windows 7, но Python 2.7.10 работает в 32-разрядной версии. Я добавил соответствующие пути для C:\MingW\bin\
и C:\Python27\
в файл PATH моей системы.f2py with hello world
Когда я пытаюсь скомпилировать простой hello.f «Привет, мир!» Программа, я получаю следующие ошибки:
C:\Users\Tim\Desktop>f2py -c -m hello hello.f
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "hello" sources
f2py options: []
f2py:> c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\hellomodule.c
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7
Reading fortran codes...
Reading file 'hello.f' (format:fix,strict)
Post-processing...
Block: hello
Block: hello
Post-processing (stage 2)...
Building modules...
Building module "hello"...
Wrote C/API module "hello" to file "c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\hellomodule.c"
adding 'c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\fortranobject.c' to sources.
adding 'c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7' to include_dirs.
copying C:\Python27\lib\site-packages\numpy\f2py\src\fortranobject.c -> c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7
copying C:\Python27\lib\site-packages\numpy\f2py\src\fortranobject.h -> c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7
build_src: building npy-pkg config files
running build_ext
Cannot build msvcr library: "msvcr90d.dll" not found
customize Mingw32CCompiler
customize Mingw32CCompiler using build_ext
customize GnuFCompiler
Could not locate executable g77
Could not locate executable f77
customize IntelVisualFCompiler
Could not locate executable ifort
Could not locate executable ifl
customize AbsoftFCompiler
Could not locate executable f90
customize CompaqVisualFCompiler
Could not locate executable DF
customize IntelItaniumVisualFCompiler
Could not locate executable efl
customize Gnu95FCompiler
Found executable C:\MinGW\bin\gfortran.exe
Found executable C:\MinGW\bin\gfortran.exe
customize Gnu95FCompiler
customize Gnu95FCompiler using build_ext
building 'hello' extension
compiling C sources
C compiler: gcc -O2 -Wall -Wstrict-prototypes
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr
creating c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7
compile options: '-DNPY_MINGW_USE_CUSTOM_MSVCR -D__MSVCRT_VERSION__=0x0900 -Ic:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7 -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c'
gcc -O2 -Wall -Wstrict-prototypes -DNPY_MINGW_USE_CUSTOM_MSVCR -D__MSVCRT_VERSION__=0x0900 -Ic:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7 -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\hellomodule.c -o c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\hellomodule.o
Found executable C:\MinGW\bin\gcc.exe
gcc -O2 -Wall -Wstrict-prototypes -DNPY_MINGW_USE_CUSTOM_MSVCR -D__MSVCRT_VERSION__=0x0900 -Ic:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7 -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\fortranobject.c -o c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\fortranobject.o
compiling Fortran sources
Fortran f77 compiler: C:\MinGW\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -O3 -funroll-loops
Fortran f90 compiler: C:\MinGW\bin\gfortran.exe -Wall -g -fno-second-underscore -O3 -funroll-loops
Fortran fix compiler: C:\MinGW\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -O3 -funroll-loops
compile options: '-Ic:\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7 -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c'
gfortran.exe:f77: hello.f
C:\MinGW\bin\gfortran.exe -Wall -g -Wall -g -shared c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\hellomodule.o c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\fortranobject.o c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\hello.o -Lc:\mingw\lib\gcc\mingw32\4.8.1 -LC:\Python27\libs -LC:\Python27\PCbuild -lpython27 -lgfortran -o .\hello.pyd
C:\Python27\libs/libpython27.a: error adding symbols: File format not recognized
collect2.exe: error: ld returned 1 exit status
error: Command "C:\MinGW\bin\gfortran.exe -Wall -g -Wall -g -shared c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\hellomodule.o c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\users\tim~1.rue\appdata\local\temp\tmpriisfr\src.win32-2.7\fortranobject.o c:\users\tim~1.rue\appdata\local\temp\tmpriisfr\Release\hello.o -Lc:\mingw\lib\gcc\mingw32\4.8.1 -LC:\Python27\libs -LC:\Python27\PCbuild -lpython27 -lgfortran -o .\hello.pyd" failed with exit status 1
Может кто-то помочь мне разобраться, почему это не компиляция и помочь мне получить эту работу?
См. Этот вопрос: http://stackoverflow.com/questions/33984023/python-embedded-c-code-compilation-error –