plotly / plotly/plotly.R

orca error

Abierto
#1,863 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
R
Estrellas
2.7k
Forks
641
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hi Carson Sievert,

An error occur when I want to export graph using orca.

# help orca example
p <- plot_ly(z = ~volcano) %>% add_surface()
orca(p, "surface-plot.svg")

I obtain these R output

Erreur : The orca command-line utility is required for this functionality.
Please follow the installation instructions here -- https://github.com/plotly/orca#installation

which come from your orca_available() function

orca_available <- function() {
  if (Sys.which("orca") == "" || !correct_orca()) {
    stop(
      "The orca command-line utility is required for this functionality.\n\n",
      "Please follow the installation instructions here -- https://github.com/plotly/orca#installation",
      call. = FALSE
    )
  }
  
  TRUE
}

but, as shown below, orca is available on my computer

$ orca
Plotly's image-exporting utilities

  Usage: orca [--version] [--help] <command> [<args>]

  Available commands:
  - graph [or plotly-graph, plotly_graph]
    Generates an image of plotly graph from inputted plotly.js JSON attributes.
    For more info, run `orca graph --help`.
  - serve [or server]
    Boots up a server with one route per available export component
    For more info, run `orca serve --help`.

The bug come from correct_orca() (orca.R, lines 201-210), with As shown below, processx::run() don't export the first line "Plotly's image-exporting utilities" of stdout which is use by grepl to return TRUE.

# orca.R lines 207-210
correct_orca <- function() {
  orca_help <- processx::run("orca", "-h")
  grepl("plotly", orca_help[["stdout"]], ignore.case = TRUE)
}

# processx line
> processx::run("orca", "-h")
$status
[1] 0

$stdout
[1] "Utilisation : orca [-h] [-v] [-r] [-s] [-l] [-e OPTION] [-d OPTION] [-p NOM]\n                   [-u RÉPERTOIRE] [--debug-file FICHIER] [--debug]\n\nParamètres facultatifs:\n  -h, --help                    Montrer ce message d’aide et quitter\n  -v, --version                 3.36.2\n  -r, --replace                 Remplace une instance actuellement lancée de\n                                ce lecteur d’écran\n  -s, --setup                   Définit les préférences utilisateur (mode\n                                graphique)\n  -l, --list-apps               Affiche les applications lancées connues\n  -e OPTION, --enable OPTION    Force l’utilisation de l’option\n  -d OPTION, --disable OPTION   Empêche l’utilisation de l’option\n  -p NOM, --profile NOM         Charge le profil\n  -u RÉPERTOIRE, --user-prefs RÉPERTOIRE\n                                Utilise un répertoire alternatif pour les\n                                préférences des utilisateurs\n  --debug-file FICHIER          Envoie la sortie de débogage dans le fichier\n                                indiqué\n  --debug                       Envoie la sortie de débogage dans debug-AAAA-\n                                MM-JJ-HH:MM:SS.out\n\nRapportez les bogues à orca-list@gnome.org.\n"

$stderr
[1] ""

$timeout
[1] FALSE

Maybe you can remove correct_orca() function to prevent this bug, and because you test orca availability with Sys.which("orca") on orca_available()

Sincerely,

Aurélien BRIONNE,

Guía de contribución

Abrir la guía de contribución

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.

Línea de trabajo

Comienza en orca.R alrededor de las líneas 201-210 y reproduce el ejemplo de orca() indicado con la salida documentada de processx::run("orca", "-h"). Comprueba cómo correct_orca() valida el comando y cómo orca_available() usa ese resultado. La tarea estará terminada cuando se reconozca un ejecutable de Orca instalado incluso cuando su salida de ayuda esté localizada, mientras que un Orca no disponible siga produciendo el error previsto.

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

Evaluación

Stack tecnológico
r
Área
data-visualization
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
50/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.