This is due to the nature of the build of the ArcGIS desktop applications. It establishes its own process-level settings in Windows for various binary runtime settings, which in turn causes a failure in any compiled module which has an embedded manifest within it. The binary Python modules (.pyd) include such a manifest, and as noted on the Python.org web site's issue tracker, the issue was not fixed for Python 2.6/2.7 and may likely not be fixed in future versions as well.
One possible workaround is to use the Microsoft utility editbin to strip the manifest from the .pyd files of interest using the /ALLOWISOLATION:NO option.
This is due to the nature of the build of the ArcGIS desktop applications. It establishes its own process-level settings in Windows for various binary runtime settings, which in turn causes a failure in any compiled module which has an embedded manifest within it. The binary Python modules (.pyd) include such a manifest, and as noted on the Python.org web site's issue tracker, the issue was not fixed for Python 2.6/2.7 and may likely not be fixed in future versions as well.
One possible workaround is to use the Microsoft utility editbin to strip the manifest from the .pyd files of interest using the /ALLOWISOLATION:NO option.
There are two reasons why the netcdf4-python windows binaries from <http://code.google.com/p/netcdf4-python/> won't work from within ArcGIS10:
1) The hdf5dll.dll file used by ArcGIS is incompatible with the one required by netcdf4-python's netcdf.dll. Some functions are missing. Hence the error message when loading netcdf.dll. Copying all netCDF4-python provided DLLs from "C:\Python26\ArcGIS10.0\lib\site-packages" to "C:\Program Files\ArcGIS\Desktop10.0\Bin" worked but might interfere with ArcGIS functions (no tested). Also there should be no other netcdf.dll files in the Windows DLL search path.
2) ArcGIS-python ships with numpy-1.3, which is quite outdated and will not work with extensions compiled with the latest numpy. Importing netcdf4-python will crash. Upgrading to numpy-1.6.1 solved this but might influence the arcpy package (not tested).
Embedded manifests are not the problem here. NetCDF4.pyd was compiled with the patch from <http://bugs.python.org/issue7833> and also netcdf.dll and all dependent DLLs are linked with the 'MANIFEST:NO' option.
There are two reasons why the netcdf4-python windows binaries from <http://code.google.com/p/netcdf4-python/> won't work from within ArcGIS10:
1) The hdf5dll.dll file used by ArcGIS is incompatible with the one required by netcdf4-python's netcdf.dll. Some functions are missing. Hence the error message when loading netcdf.dll. Copying all netCDF4-python provided DLLs from "C:\Python26\ArcGIS10.0\lib\site-packages" to "C:\Program Files\ArcGIS\Desktop10.0\Bin" worked but might interfere with ArcGIS functions (no tested). Also there should be no other netcdf.dll files in the Windows DLL search path.
2) ArcGIS-python ships with numpy-1.3, which is quite outdated and will not work with extensions compiled with the latest numpy. Importing netcdf4-python will crash. Upgrading to numpy-1.6.1 solved this but might influence the arcpy package (not tested).
Embedded manifests are not the problem here. NetCDF4.pyd was compiled with the patch from <http://bugs.python.org/issue7833> and also netcdf.dll and all dependent DLLs are linked with the 'MANIFEST:NO' option.