Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

`pyimport_conda` yields `PyObject NULL`

Abierto
#301 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
julia, python
Área
backend

Línea de trabajo

Comienza reproduciendo el ejemplo en un entorno nuevo e inspecciona src/symbolic.jl, especialmente la configuración de pyimport_conda("sympy.stats", "sympy"). Compárala con el módulo independiente que funciona y con las advertencias sobre módulos cerrados; estará terminado cuando Soss.stats devuelva un objeto utilizable sin un segfault.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi,

I'm hitting a bug I'm having some trouble replicating, hope you might be able to steer me in the right direction.

At a very high level, the problem happens when I

  1. Import sympy.stats in the standard way within my package
  2. using Soss (my package) externally
  3. Make a call involving stats

Result:

julia> Soss.stats
PyObject NULL

In some cases, this triggers a segfault.


For context, I've tried this in both Julia 1.2 and 1.3.

Also, the following works with no trouble:

# in a file
module M
import PyCall
import SymPy
using SymPy: Sym, sympy, symbols

export SymPy, stats, symbols

stats = PyCall.pyimport_conda("sympy.stats", "sympy")
SymPy.import_from(stats)

import Distributions.Normal
export Normal
Normal(μ::Sym, σ::Sym) = stats.Normal(:Normal, μ,σ) |> SymPy.density
Normal(μ,σ) = Normal(promote(μ,σ)...)
end

using Distributions
using .M

stats.Normal(:Normal, symbols(:μ),1) |> SymPy.density
Normal(symbols(:μ),1)

# in the REPL
julia> stats.Normal(:Normal, symbols(:μ),1) |> SymPy.density
NormalDistribution(μ, 1)

julia> Normal(symbols(:μ),1)
NormalDistribution(μ, 1)

The code in symbolic.jl takes this same approach. But when I try from a fresh environment, ...

(Soss#dev) pkg> add Soss#dev
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
  Updating git-repo `https://github.com/cscherrer/Soss.jl.git`
 Resolving package versions...
  Updating `~/Soss#dev/Project.toml`
  [8ce77f84] + Soss v0.6.0 #dev (https://github.com/cscherrer/Soss.jl.git)
  Updating `~/Soss#dev/Manifest.toml`
  ... (other dependencies)
  [8f4d0f93] + Conda v1.3.0
  [24249f21] + SymPy v1.0.7

julia> using Soss
[ Info: Recompiling stale cache file /home/chad/.julia/compiled/v1.2/Soss/vXX0U.ji for Soss [8ce77f84-9b61-11e8-39ff-d17a774bf41c]

# *LOTS* OF THESE
WARNING: eval into closed module SymPy:
Expr(:block, #= Symbol("/home/chad/.julia/packages/SymPy/1Cwgd/src/utils.jl"):252 =#, Expr(:call, :P, Expr(:parameters, Expr(:..., :kwargs)), Expr(:::, :ex, :SymbolicObject), Expr(:..., :args)) = Expr(:block, #= Symbol("/home/chad/.julia/packages/SymPy/1Cwgd/src/utils.jl"):252 =#, Expr(:call, Expr(:call, :getproperty, PyCall.PyObject(o=0x00007f6c2c085778), "P"), Expr(:parameters, Expr(:..., :kwargs)), :ex, Expr(:..., :args))))
  ** incremental compilation may be fatally broken for this module **

julia> Soss.stats
PyObject NULL

Any ideas?

Lenguaje dominante
Julia
Estrellas
282
Forks
59
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de JuliaPy/SymPy.jl

Todos los issues de JuliaPy/SymPy.jl

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.