plotly / plotly/plotly.R

orca error

Aperta
#1,863 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
R
Stelle
2.7k
Fork
641
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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,

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia in orca.R intorno alle righe 201-210 e riproduci l’esempio orca() segnalato con l’output documentato di processx::run("orca", "-h"). Verifica come correct_orca() convalida il comando e come orca_available() utilizza quel risultato. Il lavoro è completato quando un eseguibile Orca installato viene riconosciuto anche se il suo output di aiuto è localizzato, mentre Orca non disponibile continua a produrre l’errore previsto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
r
Ambito
data-visualization
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
50/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.