numpy.ufunc的大小不正确,请尝试重新编译。即使是最新的Pandas和裸体版

2024-05-15 01:05:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在容器中使用pandas,得到以下错误:

Traceback (most recent call last):
  File "/volumes/dependencies/site-packages/celery/app/trace.py", line 374, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/volumes/dependencies/site-packages/celery/app/trace.py", line 629, in __protected_call__
    return self.run(*args, **kwargs)
  File "/volumes/code/autoai/celery/data_template/api.py", line 16, in run_data_template_task
    data_template.run(data_bundle, columns=columns)
  File "/volumes/code/autoai/models/data_template.py", line 504, in run
    self.to_parquet(data_bundle, columns=columns)
  File "/volumes/code/autoai/models/data_template.py", line 162, in to_parquet
    }, parquet_path=data_file.path, directory="", dataset=self)
  File "/volumes/code/autoai/core/datasets/parquet_converter.py", line 46, in convert
    file_system.write_dataframe(parquet_path, chunk, directory, append=append)
  File "/volumes/code/autoai/core/file_systems.py", line 76, in write_dataframe
    append=append)
  File "/volumes/dependencies/site-packages/pandas/core/frame.py", line 1945, in to_parquet
    compression=compression, **kwargs)
  File "/volumes/dependencies/site-packages/pandas/io/parquet.py", line 256, in to_parquet
    impl = get_engine(engine)
  File "/volumes/dependencies/site-packages/pandas/io/parquet.py", line 40, in get_engine
    return FastParquetImpl()
  File "/volumes/dependencies/site-packages/pandas/io/parquet.py", line 180, in __init__
    import fastparquet
  File "/volumes/dependencies/site-packages/fastparquet/__init__.py", line 8, in <module>
    from .core import read_thrift
  File "/volumes/dependencies/site-packages/fastparquet/core.py", line 13, in <module>
    from . import encoding
  File "/volumes/dependencies/site-packages/fastparquet/encoding.py", line 11, in <module>
    from .speedups import unpack_byte_array
  File "__init__.pxd", line 861, in init fastparquet.speedups
ValueError: numpy.ufunc has the wrong size, try recompiling. Expected 192, got 216

我在other answers上读到,当pandas编译到比您安装的版本更新的numpy版本时,就会显示此消息。但是更新熊猫和小猫咪对我来说都不管用。我试图找出我是否有几个版本的numpy,但是pip show numpy似乎显示了最新的版本。

而且,奇怪的是,只有当我在本地部署而不是在服务器上部署时,才会发生这种情况。

有什么办法解决这个问题吗?或者至少如何调试我的numpy和pandas版本(如果有多个版本,我如何检查)

我试过:升级两个软件包,删除并重新安装它们。没有帮助。


Tags: inpy版本pandasdatapackageslinesite
3条回答

实际上我的问题是通过某种方式解决的

 pip uninstall numpy
 pip install numpy

真正的过程是

➜  ~ pip3 uninstall numpy -y
Uninstalling numpy-1.14.5:
  Successfully uninstalled numpy-1.14.5
➜  ~ pip3 install numpy     
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (1.16.1)
➜  ~ pip3 uninstall numpy   
Uninstalling numpy-1.16.1:
  Would remove:
    /usr/bin/f2py3
    /usr/bin/f2py3.7
    /usr/lib/python3/dist-packages/numpy
    /usr/lib/python3/dist-packages/numpy-1.16.1.egg-info
Proceed (y/n)? y
  Successfully uninstalled numpy-1.16.1
➜  ~ pip3 install numpy   
Collecting numpy...

这意味着问题可能是版本冲突?

如果码头工人 添加:

RUN pip install numpy

在安装pandas之前(可能只是pip install-r requirements.txt) 它会再次起作用的。

我在docker在阿尔卑斯山建造熊猫时遇到了同样的问题,它刚刚出现(2018年12月27日),之前一直运行良好。

答案是fastparquet(熊猫使用的一个包)出于某种原因使用了numpy旧的二进制文件。

更新那个包有帮助。我想如果有人遇到这个问题,尝试更新所有相关的包(使用numpy)将是正确的方法

相关问题 更多 >

    热门问题