Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

418
Views
Tengo una función de alto rendimiento escrita en Julia, ¿cómo puedo usarla desde Python?

Encontré una función de Julia que hace muy bien el trabajo que necesito. ¿Cómo puedo integrarlo rápidamente para poder llamarlo desde Python?

Supongamos que la función es

 f(x,y) = 2x.+y

¿Cuál es la mejor y más elegante forma de usarlo desde Python?

over 4 years ago · Hanz Gallego
1 answers
Answer question

0

Suponiendo que Python y Julia estén instalados, debe seguir los siguientes pasos.

  1. Ejecute Julia e instale PyCall

     using Pkg pkg"add PyCall"
  2. Pon tu código en un paquete de Julia

     using Pkg Pkg.generate("MyPackage")

    En la carpeta src encontrará MyPackage.jl , edítelo para que se vea así:

     module MyPackage f(x,y) = 2x.+y export f end
  3. instalar pyjulia

     python -m pip install julia

    (En los sistemas Linux, es posible que desee usar python3 en lugar del comando python )

    Para este paso, tenga en cuenta que si bien se puede usar un Python externo con Julia. Sin embargo, para mayor comodidad, podría valer la pena considerar usar un Python que se instaló junto con Julia como PyCall . En ese caso, para la instalación, use un comando como este:

     %HOMEPATH%\.julia\conda\3\python -m pip install julia

    o en Linux

     ~/.julia/conda/3/python -m pip install julia

    Tenga en cuenta que si tiene definida la variable JULIA_DEPOT_PATH , puede reemplazar %HOMEPATH%\.julia o ~/.julia/ con su valor.

  4. Ejecute el Python apropiado y dígale que configure la integración Python-Julia:

     import julia julia.install()
  5. Ahora estás listo para llamar a tu código de Julia:

     >>> from julia import Pkg >>> Pkg.activate(".\\MyPackage") #use the correct path Activating environment at `MyPackage\Project.toml` >>> from julia import MyPackage >>> MyPackage.f([1,2],5) [7,9]

Vale la pena señalar que el enfoque propuesto en esta respuesta tiene varias ventajas sobre un archivo Julia independiente que sería posible, aunque menos recomendable. Las ventajas incluyen:

  1. Los paquetes se precompilan (por lo que son más rápidos en ejecuciones posteriores) y se pueden cargar como un paquete en Python.
  2. Los paquetes vienen con su propio entorno virtual a través de 1Project.toml`, lo que hace que las implementaciones de producción sean mucho más cómodas.
  3. Un paquete de Julia se puede compilar estáticamente en la imagen del sistema de Julia, lo que puede reducir drásticamente su tiempo de carga --- consulte https://github.com/JuliaLang/PackageCompiler.jl .
over 4 years ago · Hanz Gallego Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!