2016-06-14 84 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