我在 python 中从 scipy 集成子模块时遇到了一些麻烦。
我有一个 64 位架构,并且根据 python 解释器的第一行(见下文),我似乎还在将 64 位版本的 Python 与 Anaconda 一起使用。
下面是问题(我只是编写了最少的代码来显示发生的情况)
Python 3.4.3 |Anaconda 2.3.0 (64-bit)| (default, Mar 6 2015, 12:06:10) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>> import scipy.integrate
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\*********\Anaconda3\lib\site-packages\scipy\integrate\__init__.py", line 55, in <module>
from .quadrature import *
File "C:\Users\*********\Anaconda3\lib\site-packages\scipy\integrate\quadrature.py", line 10, in <module>
from scipy.special.orthogonal import p_roots
File "C:\Users\*********\Anaconda3\lib\site-packages\scipy\special\__init__.py", line 636, in <module>
from ._ufuncs import *
ImportError: DLL load failed: Le module spécifié est introuvable.
import scipy.special 也会发生同样的情况
如您所见,可以导入 scipy,但是 scipy.integrate 会生成错误。奇怪的是在文件夹中
...\lib\site-packages\scipy\special,出现 ._ufuncs.pyd。
另外,我经常将 scipty 用于其他目的,并且一切正常。
我使用的是 scipy 0.18.0 版本和 pip 1.8.1。
我尝试用 conda 重新安装 scipy 但这似乎没有改变任何东西。
貌似找不到dll。我在互联网上发现了一些有类似问题的帖子(包括建议在 C:\Windows\SysWOW64 中下载“libmmd.dll”的帖子),但似乎都不起作用。我的猜测是,这仍然是 32-64 位兼容性的 pb,因为这是 python 中最常见的 pb,我记得几个月前第一次设置所有内容时有巨大的 pb。
那么,继最初的问题之后,有没有办法知道每个包或 dll 的哪个版本(32 位或 64 位)已有效安装/加载?
您知道为什么我收到此错误消息吗?
谢谢各位的解答,这个问题真是让人郁闷啊……