Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Python实现此导入语句?_Python_Import - Fatal编程技术网

如何为Python实现此导入语句?

如何为Python实现此导入语句?,python,import,Python,Import,我在网上找到了一个用于关联传播的python模块。代码可在此链接中找到 我已经获取了代码并将其放入名为affinitypropagationlib.py的文件中 我试图创建一个“主”python模块,它导入上面的python文件,但收到以下错误 Warning (from warnings module): File "C:\Users\Br. David Klecker\Downloads\WPy-3701\python-3.7.0.amd64\lib\site-packages\skle

我在网上找到了一个用于关联传播的python模块。代码可在此链接中找到

我已经获取了代码并将其放入名为affinitypropagationlib.py的文件中

我试图创建一个“主”python模块,它导入上面的python文件,但收到以下错误

Warning (from warnings module):
  File "C:\Users\Br. David Klecker\Downloads\WPy-3701\python-3.7.0.amd64\lib\site-packages\sklearn\utils\__init__.py", line 4
    from collections import Sequence
DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
Traceback (most recent call last):
  File "C:\Users\Br. David Klecker\Downloads\WPy-3701\notebooks\ap.py", line 4, in <module>
    import affinitypropagationlib
  File "C:\Users\Br. David Klecker\Downloads\WPy-3701\notebooks\affinitypropagationlib.py", line 12, in <module>
    from ..base import BaseEstimator, ClusterMixin
ImportError: attempted relative import with no known parent package
下面是affinitypropagationlib.py文件中发生错误的开始行

import numpy as np
import warnings

from sklearn.exceptions import ConvergenceWarning
from ..base import BaseEstimator, ClusterMixin
from ..utils import as_float_array, check_array
from ..utils.validation import check_is_fitted
from ..metrics import euclidean_distances
from ..metrics import pairwise_distances_argmin

我对正在发生的事一无所知。我对python非常陌生,因此如果错误是基本的,我很抱歉。我的猜测是,我仍然缺少被称为affinitypropagation.lib的库,也许许多库名称前面的两点可能是线索

多亏了评论者的帮助,我才得以成功!解决方案是简单地使用绝对导入而不是相对导入包含库
sklearn

所以不是

from ..base import BaseEstimator, ClusterMixin
只用

from sklearn.base import BaseEstimator, ClusterMixin. 

只有当你有某种文件夹结构时,相对导入才有意义,所以为了回答这个问题,我们需要知道什么文件在哪个文件夹中。你试过绝对进口吗?它们更易于正常处理。该文件是整个软件包的一部分,无法单独工作。因此,您需要复制(或者更好地说,安装,除非它没有提供一个
setup.py
),然后复制整个软件包,而不仅仅是其中的一个文件。事实上,看起来这只是sklearn的一部分?在这种情况下,您使用它的方式是只安装sklearn并导入,然后按照sklearn文档显示的方式使用它。我安装了WinPython,它显然包含了scikit和sklearn,因此可能存在脱节。
from sklearn.base import BaseEstimator, ClusterMixin.