15

我在我的代码中使用熊猫,在熊猫中他们使用 imp 结节。现在我收到以下错误/警告

C:\Users\refaelc\AppData\Local\Temp\collection_id-96deaf03-9b39-46c0-a843-63f6101481c1-5289121858290797008.csv
Step07: Compare the downloaded and the template files
C:\Users\refaelc\AppData\Local\Continuum\Anaconda3\lib\importlib\_bootstrap.py:205: ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
  return f(*args, **kwds)
C:\Users\refaelc\AppData\Local\Continuum\Anaconda3\lib\site-packages\_pytest\assertion\rewrite.py:7: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
Item is missing from collections - int

现在我做了一些搜索,发现 imp 模块正在被 importlib 模块取代。我更新了熊猫,但没有用。我似乎不太可能需要更改 Panda 的包代码。

有什么想法/修复吗?

4

1 回答 1

12

我也面临同样的问题,但在我的情况下,它与 sklearn 库有关,为了解决警告,这就是我所做的(你也可以试试这个):

  1. cloudpickle.py使用位于此位置的名为的编辑权限打开文件\sklearn\externals\joblib\externals\cloudpickle\cloudpickle.py
  2. 替换文件顶部的import impimport importlib
  3. 找到命名的函数find_module并将该行替换 file, path, description = imp.find_module(part, path)file, path, description = importlib.utils.find_spec(path)

因此,总而言之,您必须在引发错误的文件中imp module替换提及。importlib在您的情况下,文件rewrite.py位于C:\Users\refaelc\AppData\Local\Continuum\Anaconda3\lib\site-packages\_pytest\assertion\rewrite.py

于 2018-10-13T15:34:05.147 回答