2016-06-14 108 views
1

我尝试使用下面的命令在Ubuntu 14.04安装netcdf4包无法在Ubuntu 14.04安装h5py使用ICC编译

PIP3安装netcdf4

这并安装成功,但是当我尝试执行一个脚本有进口netCDF4我得到以下错误 -

Traceback (most recent call last): 
File "display.py", line 5, in <module> 
from netCDF4 import Dataset # http://code.google.com/p/netcdf4-python/ 
File "/usr/local/lib/python3.4/dist-packages/netCDF4/__init__.py", line 3, in <module> from ._netCDF4 import * 
File "netCDF4/_netCDF4.pyx", line 942, in init netCDF4._netCDF4 (netCDF4/_netCDF4.c:76006) 
File "/usr/local/lib/python3.4/dist-packages/netcdftime/__init__.py", line 1, in <module> 
from .netcdftime import utime, JulianDayFromDate, DateFromJulianDay 
File "/usr/local/lib/python3.4/dist-packages/netcdftime/netcdftime.py", line 14, in <module> 
from ._datetime import datetime 
ImportError: /usr/local/lib/python3.4/dist-packages/netcdftime/_datetime.cpython-34m.so: undefined symbol: __intel_sse2_strchr 

因此,它看起来像这样有依赖cython和hdf5。 我确实安装了cython,并且安装成功。

当我做了PIP3安装h5py我遇到下面的错误 -

有什么建议?我正在使用Intel icc编译器,无法切换到gcc。

Traceback (most recent call last): 

File "<string>", line 1, in <module> 

File "/tmp/pip_build_root/h5py/setup.py", line 149, in <module> 

cmdclass = CMDCLASS, 

File "/usr/lib/python3.4/distutils/core.py", line 148, in setup 

dist.run_commands() 

File "/usr/lib/python3.4/distutils/dist.py", line 955, in run_commands 

self.run_command(cmd) 

File "/usr/lib/python3.4/distutils/dist.py", line 974, in run_command 

cmd_obj.run() 

File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 53, in run 

return _install.run(self) 

File "/usr/lib/python3.4/distutils/command/install.py", line 583, in run 

self.run_command('build') 

File "/usr/lib/python3.4/distutils/cmd.py", line 313, in run_command 

self.distribution.run_command(command) 

File "/usr/lib/python3.4/distutils/dist.py", line 974, in run_command 

cmd_obj.run() 

File "/usr/lib/python3.4/distutils/command/build.py", line 126, in run 

self.run_command(cmd_name) 

File "/usr/lib/python3.4/distutils/cmd.py", line 313, in run_command 

self.distribution.run_command(command) 

File "/usr/lib/python3.4/distutils/dist.py", line 974, in run_command 

cmd_obj.run() 

File "/tmp/pip_build_root/h5py/setup_build.py", line 147, in run 

from Cython.Build import cythonize 

File "/usr/local/lib/python3.4/dist-packages/Cython/Build/__init__.py", line 1, in <module> 

from .Dependencies import cythonize 

File "/usr/local/lib/python3.4/dist-packages/Cython/Build/Dependencies.py", line 50, in <module> 

from ..Compiler.Main import Context, CompilationOptions, default_options 

File "/usr/local/lib/python3.4/dist-packages/Cython/Compiler/Main.py", line 28, in <module> 

from .Scanning import PyrexScanner, FileSourceDescriptor 

ImportError/usr/local/lib/python3.4/distpackages/Cython/Compiler/Scanning.cpython-34m.so: undefined symbol: __intel_sse2_strchr 
+0

你必须使用一个用icc编译的python。您正在使用gcc编译的版本。重新编译python,重新安装modules/w pip。 – BadZen

+0

@BadZen - python是用icc编译的。然而,我怎么能检查什么是Python编译? – gansub

回答

1

最初:

sudo apt-get update 
    sudo apt-get install build-essential # that should get you the right gcc 
    sudo apt-get install python3-setuptools 
    sudo apt-get install python3-dev 
    sudo apt-get install python3-lxml 

然后安装PIP 3 throught apt-get的 - 验证您的点子是一致的与Ubuntu:

apt-get install python-pip3 
apt-get install python3-h5py 

然后任何其他模块

+0

@dmityro - 我无法使用gcc。我所有的程序都是用icc编译的。我现在不能改变 – gansub

+1

这看起来像你的情况http://bryanwweber.com/writing/personal/2014/01/11/installing-numpy-scipy-on-ubuntu-12.04.3-from-scratch-source-with- intel-compilers/ – dmitryro

+0

非常感谢!我给他发了一封电子邮件 – gansub