`%matplotlib` magic causes "ImportError: DLL load failed while importing" with jax and Windows 11
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece reproduzindo a sequência do Windows 11 com as versões reportadas do IPython, matplotlib e JAX: execute %matplotlib qt5 antes de importar o JAX e depois compare-a com as sequências de importação que funcionam. Rastreie o ponto de entrada de %matplotlib e a interação resultante de carregamento de DLLs; considera-se concluído quando a falha estiver explicada e o caminho de importação afetado tiver cobertura de regressão.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
Using %matplotlib magic prior to importing jax module causes a DLL failure on Windows 11
get_ipython().run_line_magic("matplotlib", "qt5")
import jax
Error
ImportError: DLL load failed while importing _jax: A dynamic link library (DLL) initialization routine failed.
Specific error line from stacktrace:
File ...\jaxlib\xla_client.py:28: from jaxlib import _jax as _xla
Full stacktrace
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
Cell In[1], line 3
1 get_ipython().run_line_magic("matplotlib", "qt5") # noqa: F821
----> 3 import jax
File C:\...\Lib\site-packages\jax\__init__.py:25
22 from jax.version import __version_info__ as __version_info__
24 # Set Cloud TPU env vars if necessary before transitively loading C++ backend
---> 25 from jax._src.cloud_tpu_init import cloud_tpu_init as _cloud_tpu_init
26 try:
27 _cloud_tpu_init()
File C:\...\Lib\site-packages\jax\_src\cloud_tpu_init.py:20
17 import re
18 import warnings
---> 20 from jax._src import config
21 from jax._src import hardware_utils
23 running_in_cloud_tpu_vm: bool = False
File C:\...\Lib\site-packages\jax\_src\config.py:29
26 import warnings
28 from jax._src import deprecations
---> 29 from jax._src import logging_config
30 from jax._src.lib import _jax
31 from jax._src.lib import guard_lib
File C:\...\Lib\site-packages\jax\_src\logging_config.py:17
15 import logging
16 import sys
---> 17 from jax._src.lib import utils
19 # Example log message:
20 # DEBUG:2023-06-07 00:14:40,280:jax._src.xla_bridge:590: Initializing backend 'cpu'
21 logging_formatter = logging.Formatter(
22 "{levelname}:{asctime}:{name}:{lineno}: {message}", style='{')
File C:\...\Lib\site-packages\jax\_src\lib\__init__.py:89
86 import jaxlib.cpu_feature_guard as cpu_feature_guard
87 cpu_feature_guard.check_cpu_features()
---> 89 import jaxlib.xla_client as xla_client # noqa: F401
91 # Jaxlib code is split between the Jax and the XLA repositories.
92 # Only for the internal usage of the JAX developers, we expose a version
93 # number that can be used to perform changes without breaking the main
94 # branch on the Jax github.
95 jaxlib_extension_version: int = getattr(xla_client, '_version', 0)
File C:\...\Lib\site-packages\jaxlib\xla_client.py:28
25 import threading
26 from typing import Any, Protocol, Union
---> 28 from jaxlib import _jax as _xla
30 # Note this module does *not* depend on any Python protocol buffers. The XLA
31 # Python bindings are currently packaged both as part of jaxlib and as part
32 # of TensorFlow. If we use protocol buffers here, then importing both jaxlib
(...) 39 # Pylint has false positives for type annotations.
40 # pylint: disable=invalid-sequence-index
42 ifrt_programs = _xla.ifrt_programs
ImportError: DLL load failed while importing _jax: A dynamic link library (DLL) initialization routine failed.
Packages/environment:
OS: Windows 11
IPython: 9.7.0
matplotlib: 3.10.8
jax: 0.9.1
Other context
Without the matplotlib magic, the import works just fine:
import jax
as does this:
import matplotlib
import matplotlib.pyplot as plt
plt.plot(range(4))
import jax
- Linguagem predominante
- Python
- Estrelas
- 16.8k
- Forks
- 4.5k
- Merge médio
- 5h 50min
- PRs com merge (30d)
- 5
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ipython/ipython
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
-
autoreload breaks on partial Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
-
bug magics
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Todas as issues de ipython/ipython
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
stephrobert/dsoxlab#238 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
sublimehq/package_control#1780 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
nwg-piotr/nwg-displays#145 ·