pyimport_conda not finding the package?
- Lenguaje dominante
- Julia
- Estrellas
- 1.5k
- Forks
- 186
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
MWE:
```julia
using PyCall
ENV["PYTHON"] = ""
using Pkg; Pkg.build("PyCall")
pyimport_conda("scipy.optimize", "scipy")
```
Outputs:
```julia
Conda ─→ `C:\Users\accou\.julia\packages\Conda\x5ml4\deps\build.log`
Building PyCall → `C:\Users\accou\.julia\packages\PyCall\tqyST\deps\build.log`
[ Info: Installing scipy.optimize via the Conda scipy package...
[ Info: Running `conda install -y scipy` in root environment
Collecting package metadata (current_repodata.json): done
Solving environment: done
# All requested packages already installed.
PyError (PyImport_ImportModule
The Python package scipy.optimize could not be imported by pyimport. Usually this means
that you did not install scipy.optimize in the Python version being used by PyCall.
PyCall is currently configured to use the Julia-specific Python distribution
installed by the Conda.jl package. To install the scipy.optimize module, you can
use `pyimport_conda("scipy.optimize", PKG)`, where PKG is the Anaconda
package the contains the module scipy.optimize, or alternatively you can use the
Conda package directly (via `using Conda` followed by `Conda.add` etcetera).
Alternatively, if you want to use a different Python distribution on your
system, such as a system-wide Python (as opposed to the Julia-specific Python),
you can re-configure PyCall with that Python. As explained in the PyCall
documentation, set ENV["PYTHON"] to the path/name of the python executable
you want to use, run Pkg.build("PyCall"), and re-launch Julia.
)
ImportError('DLL load failed while importing _iterative: The specified module could not be found.')
File "C:\Users\accou\.julia\conda\3\lib\site-packages\scipy\optimize\__init__.py", line 400, in
from .optimize import *
File "C:\Users\accou\.julia\conda\3\lib\site-packages\scipy\optimize\optimize.py", line 36, in
from ._numdiff import approx_derivative
File "C:\Users\accou\.julia\conda\3\lib\site-packages\scipy\optimize\_numdiff.py", line 6, in
from scipy.sparse.linalg import LinearOperator
File "C:\Users\accou\.julia\conda\3\lib\site-packages\scipy\sparse\linalg\__init__.py", line 111, in
from .isolve import *
File "C:\Users\accou\.julia\conda\3\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py", line 4, in
from .iterative import *
File "C:\Users\accou\.julia\conda\3\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py", line 8, in
from . import _iterative
pyimport(::String) at PyCall.jl:547
pyimport_conda(::String, ::String, ::String) at PyCall.jl:711
pyimport_conda(::String, ::String) at PyCall.jl:704
top-level scope at test.jl:103
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza ejecutando el Windows MWE y revisa el stack trace, especialmente pyimport_conda en PyCall.jl alrededor de las líneas 704-711. Comprueba cómo se carga el paquete scipy instalado por Conda y si se puede reproducir el fallo de DLL notificado; se considera terminado cuando pyimport_conda("scipy.optimize", "scipy") se importa correctamente después de seguir los pasos de instalación documentados.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- julia, python
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 30/100