我安装了一个特定的Python包(netCDF4),其中包含编译代码(扩展模块)。 我在Windows 10(x64)下运行Anaconda和Python 3.6。 当我从控制台导入模块时,会出现以下错误:
In [1]: import netCDF4
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-9588a3d4fb24> in <module>()
----> 1 import netCDF4
C:\Program Files\Anaconda3\lib\site-packages\netCDF4\__init__.py in <module>()
1 # init for netCDF4. package
2 # Docstring comes from extension module _netCDF4.
----> 3 from ._netCDF4 import *
4 # Need explicit imports for names beginning with underscores
5 from ._netCDF4 import __doc__, __pdoc__
ImportError: DLL load failed: Access is denied.
但模块从管理员帐户中无缺陷地加载。
我怀疑一些关键的DLL文件被公司范围内的安全策略阻止了,这是相当严格的。例如,默认情况下会阻止二进制文件,除非在“程序文件”文件夹中。但我的Python分发和netCDF4包已经在此文件夹中,因此我不知道如何解释这一点。Windows事件查看器中的AppLocker日志没有显示任何阻止活动。由依赖项检查工具列出的依赖项要么是系统库,要么包含在“程序文件”文件夹中。
我该如何开始故障排除?我该如何找出发生了什么?