En la libreta, "Paquetes en Julia" (https://github.com/umalvarez/TallerJuR/blob/master/julia/PaquetesEnJulia.ipynb) solicitamos una función que:
In [1]:
function p_it(p::AbstractString)
# Instala el paquete 'p'
#
# Args:
# p: el nombre completo del paquete::AbstractString
#
# Returns:
# Mensaje de advertencia o notifica de la instalación vía Base.Pkg.add
#
ENV["PYTHON"]=""
if !contains(==, Pkg.available(), p)
println("No disponible en Pkg.available().")
else
if !haskey(Pkg.installed(), p)
Pkg.add(p)
end
end
end
Out[1]:
In [2]:
methods(p_it) # Obtenemos la tabla de métodos para it()
Out[2]:
In [3]:
p_it(4) # ¿Y si ingresamos un entero?
In [4]:
p_it(1.0) # ¿Y si ingresamos un real?
In [5]:
p_it(IJulia) # El nombre es correcto, pero no el tipo.
In [6]:
p_it("Ijulia") # Ingresamos un nombre incorrecto.
Pkg.status()
23 required packages:
...
- IJulia 1.5.0
...
121 additional packages:
- ArgParse 0.5.0
...
- ZMQ 0.4.3
In [7]:
p_it("IJulia") # Nombre y tipo correctos, pero el paquete ya estaba instalado.
In [34]:
p_it("IJuliaPortrayals")
Verificamos la instalación exitosa:
Pkg.status()
24 required packages:
...
- IJulia 1.5.0
- IJuliaPortrayals 0.0.4
...
121 additional packages:
...
In [8]:
versioninfo()
In [9]:
Dates.today()
Out[9]: