我在我的代码中使用了 pandas,而在 pandas 中,他们使用了 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,但没有用。我似乎不太可能需要更改 Panda 的包代码。
任何想法/修复?
最佳答案
我也遇到了同样的问题,但就我而言,这是与 sklearn 库有关的,为了修复警告,我就是这样做的(您也可以试试这个):
- 以编辑权限打开名为
cloudpickle.py
的文件,该文件位于\sklearn\externals\joblib\externals\cloudpickle\cloudpickle.py
- 将文件顶部的
import imp
替换为import importlib
。 - 找到名为
find_module
的函数并替换该行文件,路径,描述 = imp.find_module(部分,路径)
和文件,路径,描述 = importlib.utils.find_spec(path)
因此,总而言之,您必须在引发错误的文件中将提及的 imp module
替换为 importlib
。在您的情况下,文件 rewrite.py
位于 C:\Users\refaelc\AppData\Local\Continuum\Anaconda3\lib\site-packages\_pytest\assertion\rewrite.py
关于python - imp 模块已弃用,取而代之的是 importlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43964166/