Come si risolve "runtimeError: il pacchetto non supera il controllo di integrità" per numpy e panda?
Questo è l'errore che ricevo e, per quanto ne so, non c'è nulla di utile nel collegamento dell'errore per risolverlo.
RuntimeError: l'attuale installazione di Numpy (
'...\\venv\\lib\\site-packages\\numpy\\__init__.py') non riesce a superare un controllo di integrità a causa di un bug nel runtime di Windows.
Vedere questo numero per ulteriori informazioni: https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html
Ho provato più versioni di Python (3.8.6 e 3.9.0) e numpy e pandas. Attualmente sto usando PyCharm per fare tutto questo.
Risposte
Questo errore si verifica quando si utilizzano python3.9 e numpy1.19.4 Quindi la disinstallazione di numpy1.19.4 e l'installazione di 1.19.3 funzioneranno.
Sto usando Python 3.7, comunque la stessa soluzione suggerita qui mi ha aiutato.
pip install numpy==1.19.3
In realtà il link informato https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html mostra la soluzione data. Sembra essere un bug in Visual Studio, che rimane irrisolto fino a questa data.
Basta installare numpy==1.19.3
sto usando python 3.9
Come da discussione sul link che hai fornito, uno sviluppatore numpy ha risposto:
NumPy ha rilasciato un bugfix 1.19.3 per aggirare questo problema. Il bugfix ha rotto qualcos'altro su Linux, quindi abbiamo dovuto annullare la correzione nella versione 1.19.4, ma puoi comunque installare 1.19.3 tramite pip install numpy == 1.19.3.
Quindi, se hai bisogno di requisiti che funzionino sia per Linux che per Windows, dovrai usare PEP508:
numpy==1.19.3; platform_system == "Windows"
numpy>=1.19.4; platform_system == "linux"
Il rollback a numpy 1.19.3 ha funzionato per me su Python 3.8.6
È un bug numpy 1.19.4che fallisce con tutte le versioni di Python. Usa la versione precedente per risolvere il problema, quindi dal terminale:
pip install numpy==1.19.3
La soluzione alternativa è fornita nel collegamento menzionato in questione.
Lo sviluppatore mattip menziona di seguito nella soluzione suggerita da lui:
- Disinstalla numpy (molto probabilmente è 1.19.4)
- pip install numpy == 1.19.3
Questo ha funzionato per me.
La mia configurazione: OS-Win10, Anaconda Distribution, python = 3.7
Perché nessuno ha pubblicato la differenza tra 1.19.3 e 1.19.4.
Il codice di inizializzazione numpy problematico è:
def _win_os_check():
"""
Quick Sanity check for Windows OS: look for fmod bug issue 16744.
"""
try:
a = arange(13 * 13, dtype= float64).reshape(13, 13)
a = a % 17 # calls fmod
linalg.eig(a)
except Exception:
msg = ("The current Numpy installation ({!r}) fails to "
"pass a sanity check due to a bug in the windows runtime. "
"See this issue for more information: "
"https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html")
raise RuntimeError(msg.format(__file__)) from None
if sys.platform == "win32" and sys.maxsize > 2**32:
_win_os_check()
del _win_os_check
Questa sezione di codice non esiste nella 1.19.3; questa è l'unica differenza.