抱歉,如果确实存在一个已经解决了这个问题的线程(我花了几个小时专注地搜索多个站点,而GitHubs看起来似乎导致问题的依赖关系),但每个解决方案似乎都特定于特定的那个试图使用的图书馆。
我一直在搞乱定量金融/算法交易,并一直试图导入一个特定的库ffn,但是,根据问题标题,我收到了一个有点冗长的错误信息,详细说明了一个ImportError,以及我怎么会错过某些,非常具体的依赖关系似乎存在。老实说,这可能只是一个依赖关系(我缺少依赖关系ffn),但我已尽力排除这种可能性。
这是完整的错误:ImportError Traceback (most recent call last)
in ()
2 import numpy as np
3 import pandas as pd
----> 4 import ffn
5 import math
~\PycharmProjects\buff\venv\lib\site-packages\ffn\__init__.py in ()
----> 1 from . import core
2 from . import data
3
4 from .data import get
5 #from .core import year_frac, PerformanceStats, GroupStats, merge
~\PycharmProjects\buff\venv\lib\site-packages\ffn\core.py in ()
8 from pandas.core.base import PandasObject
9 from tabulate import tabulate
---> 10 import sklearn.manifold
11 import sklearn.cluster
12 import sklearn.covariance
~\PycharmProjects\buff\venv\lib\site-packages\sklearn\__init__.py in ()
132 else:
133 from . import __check_build
--> 134 from .base import clone
135 __check_build # avoid flakes unused variable error
136
~\PycharmProjects\buff\venv\lib\site-packages\sklearn\base.py in ()
11 from scipy import sparse
12 from .externals import six
---> 13 from .utils.fixes import signature
14 from . import __version__
15
~\PycharmProjects\buff\venv\lib\site-packages\sklearn\utils\__init__.py in ()
9
10 from .murmurhash import murmurhash3_32
---> 11 from .validation import (as_float_array,
12 assert_all_finite,
13 check_random_state, column_or_1d, check_array,
~\PycharmProjects\buff\venv\lib\site-packages\sklearn\utils\validation.py in ()
16
17 from ..externals import six
---> 18 from ..utils.fixes import signature
19 from .. import get_config as _get_config
20 from ..exceptions import NonBLASDotWarning
~\PycharmProjects\buff\venv\lib\site-packages\sklearn\utils\fixes.py in ()
142 from ._scipy_sparse_lsqr_backport import lsqr as sparse_lsqr
143 else:
--> 144 from scipy.sparse.linalg import lsqr as sparse_lsqr # noqa
145
146
~\PycharmProjects\buff\venv\lib\site-packages\scipy\sparse\linalg\__init__.py in ()
112 from __future__ import division, print_function, absolute_import
113
--> 114 from .isolve import *
115 from .dsolve import *
116 from .interface import *
~\PycharmProjects\buff\venv\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py in ()
4
5 #from info import __doc__
----> 6 from .iterative import *
7 from .minres import minres
8 from .lgmres import lgmres
~\PycharmProjects\buff\venv\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py in ()
8 import numpy as np
9
---> 10 from . import _iterative
11
12 from scipy.sparse.linalg.interface import LinearOperator
ImportError: DLL load failed: The specified module could not be found.
这个特殊的消息来自一个失败的Jupyter笔记本试用版(IPython控制台),虽然我尝试通过“普通”Python 3文件运行相同的代码,但只是为了获得相同的消息。正如我之前推断的那样,我已经下载/正确安装了消息中提到的所有依赖项(sklearn并且scipy是ffn错误提到的本身以外的唯一问题)。令我最困惑的是,依赖项/ ffn引用中的这些import语句的所有内容都是它们应该的位置(据我所知)是可访问的。
也许我应该更彻底地研究这个问题,但对我来说真正有意义的唯一事情就是我有这些库的错误版本(在大多数情况下,维护良好且经常更新)和某些功能它ffn及其依赖项需求已弃用且不再存在。然而,这个理论被证明是错误的(至少在某种程度上),当我用30秒来弄清楚是否sklearn.manifold存在时,并且我明显感到惊讶的是,它确实存在。我还检查了我的IDE的库管理器/解释器设置菜单,一切都是最新的(我正在使用PyCharm CE)。
简而言之:当我似乎拥有它正在搜索的所有内容/它究竟是什么意思时,为什么我收到此消息,以及如何解决这个问题以便我可以使用我想要使用的库?
如果这有帮助,这里是一个总结:
所有库/依赖项都是最新的(PyCharm维护当前每个库的版本,尽管我必须手动指示它执行更新)。
我再次使用PyCharm CE 2018(最新版本)。
这是来自Jupyter笔记本的整个单元格产生错误(这也恰好是笔记本中的所有内容):
from pylab import * import numpy as np import pandas as pd import ffn import math
这里是Python文档的所有内容产生相同的错误(几乎相同的代码):
import ffn import math import pandas as pd, numpy as np import datetime data1 = ffn.get('agg, hyg, spy, eem, efa', start='2018-01-01', end='2018-02-02') print(data1.head())
我正在运行Windows 10 64位