GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Improvements to "Standalone binaries" installation processes by jonmmease · Pull Request #122 · plotly/orca

This repository was archived by the owner on Aug 27, 2026. It is now read-only.

Conversation

@jonmmease

@jonmmease jonmmease commented Aug 25, 2018

Copy link
Copy Markdown
Contributor

Overview

In preparation for the coming integration of orca into plotly.py, I reviewed and tested the "Standalone binaries" installation instructions for all three operating systems. This PR contains the updates from this review.

In all cases, the goal is to make sure the user ends up with an executable named orca on the permanent system PATH. This way the default plotly.py orca search logic will find it automatically.

I believe this is the last set of orca changes that we need before the plotly.py release. The Windows and Linux changes are documentation only. The Mac OS changes include both documentation and installer updates.

I think this is the last set of changes in orca that we need before the plotly.py release. I was picturing that we would release these changes as version 1.1.1 as soon as this PR is merged.

Windows

The Windows installation instructions have been updated to direct the user to add the orca executable to their PATH permanently. The prior instructions only added it to the PATH for the current Command Prompt session.

The actual environment variable instructions (for each Windows version) are delegated to a nice article on computerhope.com (https://www.computerhope.com/issues/ch001647.htm)

Linux

The Linux installation instructions have been updated to direct the user to create a symbolic link named orca that points to the AppImage. This way the user ends up with something name orca on their path (not orca-X.Y.Z-x86_64.AppImage).

Another computerhope.com reference was added to explain the concept of the PATH on Linux (https://www.computerhope.com/issues/ch001647.htm), along with a reference with some basic AppImage information (https://appimage.org/).

Mac OS

The logic to add orca to the system PATH has been refined as follows:

  • Don't make any changes if orca is already on the PATH.
  • Only copy orca.sh to /usr/local/bin if orca is installed as an application (not if it's installed through conda or npm). I think this will address the trouble folks are running into in Orca Error - sh: orca: command not found #120.
  • Perform the orca.sh copy with administrator privileges to avoid permission denied errors (See Permission denied downloading orca? #111). This is done using Apple Script, which launches a nice GUI password prompt.

The README instructions are also updated to reflect the new installation process.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
jonmmease added 3 commits August 24, 2018 19:28
@jonmmease
Update Linux installation instructions to create a symbolic link name…
cc9e171
…d orca

To help plotly.py discover orca, we need something on the PATH named `orca`,
not `orca-X.Y.Z...`.

Also add references about the Linux system PATH and AppImage
@jonmmease
Update Windows installation instructions to add orca to the PATH perm…
4dfcc23
…anently

Prior instructions for adding orca to the PATH were not persistent between sessions.

The PATH manipulation instructions are delegated to a nice article on `computerhope.com`
@jonmmease
Mac OS installer improvements
9300676
Updated the Mac OS PATH installation logic to be a bit smarter:
 - Don't make any changes if `orca` is already on the `PATH`
 - Only copy `orca.sh` to `/usr/local/bin` if orca is installed as an application (not if it's installed through conda or npm)
 - Perform `orca.sh` copy with administrator privileges to avoid permission denied errors. This is done using Apple Script, which launches a nice GUI password prompt.

Updated README instructions to reflect the new installation process
@jonmmease
jonmmease requested a review from etpinard August 25, 2018 00:04
@jonmmease
jslint fixes
02ec276
This was referenced Aug 25, 2018
Permission denied downloading orca? #111
Closed
Orca Error - sh: orca: command not found #120
Closed
etpinard
etpinard reviewed Aug 27, 2018
View reviewed changes
Comment thread bin/orca_electron.js Outdated
try {
execSync(`cp ${source} ${target}`)
try {
execSync('which orca');

@etpinard etpinard Aug 27, 2018

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ha interesting. I didn't think this would lead to an exception.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
etpinard
etpinard reviewed Aug 27, 2018
View reviewed changes
Comment thread README.md
- Extract the `windows-release.zip` file.
- In the `release` folder, double-click on `orca Setup X.Y.Z`, this will create an orca icon on your Desktop.
- Right-click on the orca icon and select _Properties_ from the context menu.
- From the _Shortcut_ tab, copy the directory in the _Start in_ field.

@etpinard etpinard Aug 27, 2018

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify, the Start in field is a path to a directory, correct? Not a path to a file?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jonmmease jonmmease Aug 27, 2018

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, There's also a Target field that is the full path to the executable.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

etpinard reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@etpinard

etpinard commented Aug 27, 2018

Copy link
Copy Markdown
Contributor

Thanks for doing this @jonmmease 🎉

Now docker-build-and-push is failing. Looks like svn can't resolve https://github.com/plotly/plotly.js.git/trunk/dist/extras/mathjax anymore. This probably has nothing to do with your PR.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jonmmease
Added instructions that cover installation with headless Ubuntu Server.
44a7bb7
This requires extra system libraries and xvfb.
@jonmmease

jonmmease commented Aug 28, 2018

Copy link
Copy Markdown
Contributor Author

I just pushed some additional "Linux troubleshooting" instructions that cover the case of installing orca on Ubuntu Server (and they should at least be helpful to people working with other server distributions). This requires adding a handful of additional system libraries plus Xvfb.

In the instructions I suggest creating a shell script that runs the orca AppImage executable using xvfb-run. In my testing this works really well, and this way plotly.py won't need any Xvfb specific logic.

See what you think!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

etpinard
etpinard reviewed Aug 28, 2018
View reviewed changes
Comment thread README.md Outdated
On Ubuntu Server, these additional libraries can be installed with:

```
sudo apt-get install libgtk2.0-0 libxtst6 libxss1 libgconf-2-4 libnss3 libasound2

@etpinard etpinard Aug 28, 2018 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we instead tell users to install google-chrome (like in our image-server Dockerfile? That and libgtk2.0-0 / libgconf-2-4 should be enough to run orca smoothly

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jonmmease jonmmease Aug 28, 2018

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went this way to avoid the need to use anything outside of the standard repos. Are you thinking that the google-chrome approach would be more robust across distros?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@etpinard etpinard Aug 28, 2018

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer if the installation instructions match something that we can test.

Pointing users to the what we use in our image-server container should achieve that (as we test it on every push and on prod). But, perhaps our Dockerfile is a little too Ubuntu-centric? Do you think many people with try to user orca in non-Ubuntu server environments?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jonmmease jonmmease Aug 28, 2018

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. Done in a87754d

Let me know if you think of anything else!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@etpinard

etpinard commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

In the instructions I suggest creating a shell script that runs the orca AppImage executable using xvfb-run. In my testing this works really well, and this way plotly.py won't need any Xvfb specific logic.

We use xvfb-run

orca/deployment/run_server

Line 29 in 4bd2114

xvfb-run --auto-servernum --server-args '-screen 0 640x480x24' ./bin/orca.js serve --request-limit=1000 --safe-mode $PLOTLYJS_ARG $@ 1>/proc/1/fd/1 2>/proc/1/fd/2 &

in our image-server container, so yeah it should work w/o any issues.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jonmmease
Update instructions to suggest installing chrome to satisfy missing libs
a87754d
Instructions now match our deployment Dockerfile configuration
@etpinard

etpinard commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

Thanks very much @jonmmease !

💃

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jonmmease

jonmmease commented Aug 29, 2018

Copy link
Copy Markdown
Contributor Author

Sure thing! Hopefully this will help cut down on the number orca and plotly.py tickets 🙂

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@etpinard

etpinard commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

Hopefully this will help cut down on the number orca and plotly.py tickets

Yep, this PR is a solid step forward, until we take a stab at #92

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jonmmease

jonmmease commented Aug 29, 2018

Copy link
Copy Markdown
Contributor Author

Now that we don't need to get #125 merged before plotly.py 3.2.0 is released, how does it sound to merge this PR and release it as 1.1.1? Would you have time to do the release by the end of the week? Thanks!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@etpinard

etpinard commented Aug 30, 2018

Copy link
Copy Markdown
Contributor

Would you have time to do the release by the end of the week

Sure. I'll do it before lunch today.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@etpinard
etpinard merged commit a48dc5a into master Aug 30, 2018
@etpinard
etpinard deleted the install_review branch August 30, 2018 15:31
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Reviewers

1 more reviewer
@etpinard etpinard etpinard left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@jonmmease @etpinard
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.