Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.3K
Visualizações
ValueError: el tamaño de numpy.ndarray cambió, puede indicar una incompatibilidad binaria. Se esperaba 88 del encabezado C, obtuve 80 de PyObject

Importar desde pyxdameraulevenshtein da el siguiente error, tengo

 pyxdameraulevenshtein==1.5.3, pandas==1.1.4 and scikit-learn==0.20.2. Numpy is 1.16.1. Works well in Python3.6, Issue in Python3.7.

¿Alguien ha tenido problemas similares con Python3.7 (3.7.9), imagen de la ventana acoplable - python:3.7-buster?

 __init__.pxd:242: in init pyxdameraulevenshtein ??? E ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject
over 4 years ago · Santiago Trujillo
15 Respostas
Responde à pergunta

0

Solución sin actualizar numpy

Si bien actualizar la versión numpy a menudo resolvería el problema, no siempre es viable. Un buen ejemplo es el caso cuando usa tensorflow==2.6.0 , que no es compatible con la versión numpy más reciente (requiere ~=1.19.2 ).

Como ya se mencionó en la respuesta de FZeiser , hubo un cambio en la API C de numpy s en la versión 1.20.0 . Hay paquetes que se basan en esta API de C cuando se están construyendo, por ejemplo, pycocotools . Dado que el solucionador de dependencias de pip no garantiza ningún orden para instalar los paquetes, podría ocurrir lo siguiente:

  1. pip se da cuenta de que necesita instalar numpy y elige la última versión, 1.21.2 en el momento de escribir esta respuesta.
  2. Luego crea un paquete que depende de numpy y su API C, por ejemplo, pycocotools . Este paquete ahora es compatible con numpy 1.21.2 C API.
  3. En un momento posterior, pip necesita instalar un paquete que requiera una versión anterior de numpy , por ejemplo, tensorflow==2.6.0 , que intentaría instalar numpy==1.19.5 . Como resultado, se desinstala numpy==1.21.2 y se instala la versión anterior.
  4. Cuando se ejecuta código que usa pycocotools , su instalación actual se basa en la API numpy C actualizada, pero la versión numpy se degradó, lo que daría como resultado el error.

Solución

Debe reconstruir el paquete con el uso obsoleto de la API C numpy , por ejemplo, para pycocotools :

 pip uninstall pycocotools pip install pycocotools --no-binary pycocotools
over 4 years ago · Santiago Trujillo Relatório

0

numpy versión 1.22 lo resolvió para mí.

over 4 years ago · Santiago Trujillo Relatório

0

Estaba enfrentando el mismo problema en raspberry pi 3. En realidad, el error es con pandas . Aunque tensorflow necesita numpy~=1.19.2 , pero pandas no es compatible con él. Entonces, actualicé (porque la degradación no lo es) mi numpy a la última versión y ¡todo funciona bien!

 root@raspberrypi:/home/pi# python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import numpy as np >>> np.__version__ '1.21.5' >>> import pandas as pd >>> pd.__version__ '1.3.5' >>> import tensorflow as tf >>> tf.__version__ '2.4.0' >>> tf.keras.__version__ '2.4.0' >>> tf.keras.layers <module 'tensorflow.keras.layers' from '/usr/local/lib/python3.7/dist-packages/tensorflow/keras/layers/__init__.py'>

El mismo problema aquí también: https://github.com/bitsy-ai/tensorflow-arm-bin/issues/5

Fuente de Tensorflow: https://github.com/bitsy-ai/tensorflow-arm-bin

over 4 years ago · Santiago Trujillo Relatório

0

Instale una versión anterior de gensim, ¡funciona!

 pip install gensim==3.5.0

o

 conda install gensim==3.5.0
over 4 years ago · Santiago Trujillo Relatório

0

Use entornos virtuales de python e instale gensim usando:

 pip install gensim==3.8.3
over 4 years ago · Santiago Trujillo Relatório

0

Actualizar versión numpy:

 pip install -U numpy
over 4 years ago · Santiago Trujillo Relatório

0

De hecho, (construir e) instalar con numpy>=1.20.0 debería funcionar, como se señala, por ejemplo, en esta respuesta a continuación . Sin embargo, pensé que algunos antecedentes podrían ser interesantes y proporcionar también soluciones alternativas.

Hubo un cambio en la API de C en numpy 1.20.0 . En algunos casos, parece que pip descarga la última versión de numpy para la etapa de compilación, pero luego el programa se ejecuta con la versión instalada de numpy . Si la versión de compilación utilizada es <1.20 , pero la versión instalada es =>1.20 , se producirá un error.

(Al revés, no debería importar, debido a la compatibilidad con versiones anteriores. Pero si uno usa una versión instalada numpy<1.20 , no anticiparon el próximo cambio).

Esto lleva a varias formas posibles de resolver el problema:

  • actualizar (la versión de compilación) a numpy>=1.20.0
  • use la versión numpy admitida mínima en pyproject.toml (old oldest-supported-numpy )
  • instalar con --no-binary
  • instalar con --no-build-isolation

Para obtener una discusión más detallada de las posibles soluciones, consulte https://github.com/scikit-learn-contrib/hdbscan/issues/457#issuecomment-773671043 .

over 4 years ago · Santiago Trujillo Relatório

0

Para cualquiera que use Poetry , es necesario tener experimental.new-installer establecido en true para que una aplicación con una dependencia numpy<1.20 se construya correctamente, es decir:

 poetry config experimental.new-installer true

Es true de forma predeterminada, pero si (como fue mi caso) se ha cambiado, puede sorprenderlo.

Mi aplicación usa Tensorflow y, por lo tanto, no tenía la opción de actualizar a >1.20 . Poetry tampoco admite dependencias no --no-binary .

over 4 years ago · Santiago Trujillo Relatório

0

Después de instalar pip cualquier paquete, asegúrese de reiniciar el Kernel y debería funcionar. por lo general, los paquetes se actualizan automáticamente y todo lo que necesita es un reinicio rápido. Al menos, esto funcionó en mi situación y recibí el mismo error cuando intenté instalar y usar granada.

over 4 years ago · Santiago Trujillo Relatório

0

lo que funcionó para mí fue:

 pip uninstall numpy conda install -y -c conda-forge numpy

por extraño que parezca... ni siquiera tuve que desinstalarlo con conda, lo que me pareció extraño. estoy usando python 3.9

over 4 years ago · Santiago Trujillo Relatório

0

¡Actualizar la versión de Python a numpy == 1.21.1 funcionó para mí!

over 4 years ago · Santiago Trujillo Relatório

0

Estoy en Python 3.8.5. Suena demasiado simple para ser real, pero tuve el mismo problema y todo lo que hice fue reinstalar numpy. Desaparecido.

 pip install --upgrade numpy

o

 pip uninstall numpy pip install numpy
over 4 years ago · Santiago Trujillo Relatório

0

Tuve este problema al usar la API del objeto tensorflow. Tensorflow actualmente NO es compatible con numpy==1.20 (aunque este problema no es evidente hasta más adelante). En mi caso, el problema fue causado por pycocotools. Lo arreglé instalando una versión anterior.

 pip install pycocotools==2.0.0
over 4 years ago · Santiago Trujillo Relatório

0

intente con numpy==1.20.0 esto funcionó aquí, aunque otras circunstancias son diferentes (python3.8 en alpine 3.12).

over 4 years ago · Santiago Trujillo Relatório

0

Para casi la misma imagen: python:3.7-slim-buster

Empecé a tener este problema hoy, no existía antes.

Lo resolví eliminando numpy del archivo require.txt y haciendo lo siguiente en mi Dockerfile:

 RUN pip3 install --upgrade --no-binary numpy==1.18.1 numpy==1.18.1 \ && pip3 install -r requirements.txt

Uso algunas versiones antiguas de keras y sus bibliotecas y la actualización a numpy 1.20.0 no funcionó para esas bibliotecas. Pero creo que la solución consiste en el primer comando que te di que le dice a pip que intente no compilar numpy y descargue una versión precompilada.

El truco en el comando es que puede encontrar personas que le digan que use la opción --no-binary de pip para resolver el problema, pero no especifican cómo y puede ser complicado (como me pasó a mí); debe escribir el paquete dos veces en el comando para que funcione o, de lo contrario, pip arrojará un error.

Creo que la opción --upgrade en el primer comando no es necesaria.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda