如何为Python实现此导入语句?
我在网上找到了一个用于关联传播的python模块。代码可在此链接中找到 我已经获取了代码并将其放入名为affinitypropagationlib.py的文件中 我试图创建一个“主”python模块,它导入上面的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
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.