为什么python突然不能从导入的模块运行函数?

Why can't python suddenly not run functions from imported modules?

提问人:sunniva 提问时间:8/9/2023 更新时间:8/9/2023 访问量:63

问:

我在 python 上遇到了一些奇怪的问题,我不知道如何解决它。

对于以下代码:df = pd.DataFrame.from_dict(mydict)

我收到错误:AttributeError: module 'pandas' has no attribute 'DataFrame'

其他模块也会发生同样的情况。另一个例子:L = np.sqrt((x2-x1)**2 + (y2-y1)**2)

给出错误:AttributeError: module 'numpy' has no attribute 'sqrt'

我怀疑我可能设法搞砸了我的道路?

当我尝试打印我的sys.path时,会发生以下情况:

import sys

sys.path
Traceback (most recent call last):

  File ~\AppData\Local\anaconda3\lib\site-packages\traitlets\traitlets.py:653 in get
    value = obj._trait_values[self.name]

KeyError: 'type_printers'


During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File ~\AppData\Local\anaconda3\lib\site-packages\IPython\core\formatters.py:706 in __call__
    type_pprinters=self.type_printers,

  File ~\AppData\Local\anaconda3\lib\site-packages\traitlets\traitlets.py:700 in __get__
    return self.get(obj, cls)

  File ~\AppData\Local\anaconda3\lib\site-packages\traitlets\traitlets.py:656 in get
    default = obj.trait_defaults(self.name)

  File ~\AppData\Local\anaconda3\lib\site-packages\traitlets\traitlets.py:1868 in trait_defaults
    return self._get_trait_default_generator(names[0])(self)

  File ~\AppData\Local\anaconda3\lib\site-packages\traitlets\traitlets.py:1229 in __call__
    return self.func(*args, **kwargs)

  File ~\AppData\Local\anaconda3\lib\site-packages\IPython\core\formatters.py:686 in _type_printers_default
    d[numpy.float64] = lambda obj, p, cycle: p.text(self.float_format % obj)

AttributeError: module 'numpy' has no attribute 'float64'

有什么办法可以解决这个问题吗?

python 模块 路径 sys.path

评论

1赞 JonSG 8/9/2023
您是否碰巧在项目中调用了脚本文件,或者可能有其他与库冲突的文件?numpy.py
0赞 sunniva 8/9/2023
否,没有其他文件名为 numpy.py
0赞 Matthias 8/9/2023
请添加 Python 和 numpy 的版本号。此外,请遵循并给我们输出。import numpyprint(numpy.__file__)
0赞 joanis 8/9/2023
看起来您正在使用基本 conda 环境,而不是为此项目创建一个特定的环境。最好为每个项目创建一个环境,以便在项目搞砸时更容易擦除和重新创建。我会尝试创建一个全新的环境并在其中安装东西。如果失败,请向我们展示用于创建它的步骤,我们将能够重现您的错误。

答:

1赞 sant chanana 8/9/2023 #1

错误消息表明在 pandas 模块中找不到 DataFrame 类。 确保您已正确安装 pandas 库。您可以使用以下命令来安装或升级 pandas:

pip install --upgrade pandas

此外,请确保与脚本位于同一目录中没有其他名为 pandas.py 的文件或名为 pandas 的变量。这可能会导致冲突,并阻止导入正确的 pandas 模块。

评论

0赞 sunniva 8/9/2023
谢谢,但是没有其他名为 pandas 的文件,并且 pandas 已升级。
0赞 sant chanana 8/10/2023
您可以通过在激活的环境中运行命令来共享需求文件吗?pip freeze