环境:
Ubuntu 20.04 LTS
python3.8
安装theano和libgpuarray之后import theano,报错Exception: Compilation failed (return status=1): /home/jywang/.theano/compiledir_Linux-5.13–generic-x86_64-with-glibc2.29-x86_64-3.8.10-64/lazylinker_ext/mod.cpp:1:10: fatal error: Python.h: No such file or directory. 1 | #include <Python.h>. | ^~~~~~~~~~. compilation terminated… :
ssh://jywang@123.57.221.121:7712/usr/bin/python3 -u /home/jywang/code/GRU4Rec/mooc_cube_course/run.py
You can find the C code in this temporary file: /tmp/theano_compilation_error_kmuls7kn
Traceback (most recent call last):
File "/home/jywang/.local/lib/python3.8/site-packages/theano/gof/lazylinker_c.py", line 76, in <module>
raise ImportError(
ImportError: Version check of the existing lazylinker compiled file. Looking for version 0.211, but found None. Extra debug information: force_compile=False, _need_reload=True
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jywang/.local/lib/python3.8/site-packages/theano/gof/lazylinker_c.py", line 99, in <module>
raise ImportError(
ImportError: Version check of the existing lazylinker compiled file. Looking for version 0.211, but found None. Extra debug information: force_compile=False, _need_reload=True
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jywang/code/GRU4Rec/mooc_cube_course/run.py", line 13, in <module>
import gru4rec
File "/home/jywang/code/GRU4Rec/gru4rec.py", line 12, in <module>
import custom_opt
File "/home/jywang/code/GRU4Rec/custom_opt.py", line 1, in <module>
import theano
File "/home/jywang/.local/lib/python3.8/site-packages/theano/__init__.py", line 110, in <module>
from theano.compile import (
File "/home/jywang/.local/lib/python3.8/site-packages/theano/compile/__init__.py", line 12, in <module>
from theano.compile.mode import *
File "/home/jywang/.local/lib/python3.8/site-packages/theano/compile/mode.py", line 11, in <module>
import theano.gof.vm
File "/home/jywang/.local/lib/python3.8/site-packages/theano/gof/vm.py", line 674, in <module>
from . import lazylinker_c
File "/home/jywang/.local/lib/python3.8/site-packages/theano/gof/lazylinker_c.py", line 139, in <module>
cmodule.GCC_compiler.compile_str(dirname, code, location=loc,
File "/home/jywang/.local/lib/python3.8/site-packages/theano/gof/cmodule.py", line 2395, in compile_str
raise Exception('Compilation failed (return status=%s): %s' %
Exception: Compilation failed (return status=1): /home/jywang/.theano/compiledir_Linux-5.13--generic-x86_64-with-glibc2.29-x86_64-3.8.10-64/lazylinker_ext/mod.cpp:1:10: fatal error: Python.h: No such file or directory. 1 | #include <Python.h>. | ^~~~~~~~~~. compilation terminated..
Process finished with exit code 1
解决方案:
sudo apt-get install python3-dev
再次导入只有warning了:
xxxxx:~/code/libgpuarray$ python
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import theano
WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.
>>>