jupyterlab-desktop icon indicating copy to clipboard operation
jupyterlab-desktop copied to clipboard

Windows JupyterLab failing to launch after setting python executable to WSL python

Open liquidcarbon opened this issue 2 years ago • 7 comments

I was excited to try JupyterLab on WSL/Ubuntu and maybe the support is not there yet.

Tried installing the Windows version, it asked me where's my python executable, I pointed it to the pyenv python (on WSL). Relaunching the app returns nothing. No error message, just silent failure.

Also tried installing the .deb package, nothing happens after launching jlab.

liquidcarbon avatar Feb 22 '23 01:02 liquidcarbon

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

welcome[bot] avatar Feb 22 '23 01:02 welcome[bot]

@liquidcarbon Thank you for your report! To help diagnose this issue, can you please provide logs?

Start the application from command line as jlab --verbose 4, wait until it settles.

Copy-paste the logs from the following location: on Linux: ~/.config/jupyterlab-desktop/logs/main.log on macOS: ~/Library/Logs/jupyterlab-desktop/main.log on Windows: %USERPROFILE%\AppData\Roaming\jupyterlab-desktop\logs\main.log

(In the case of WSL, I'm not sure whether the Linux or the Windows location will be used.)

JasonWeill avatar Feb 23 '23 18:02 JasonWeill

Oh i forgot about the $DISPLAY part

 jlab --verbose 4
[469:0223/120817.435188:ERROR:ozone_platform_x11.cc(239)] Missing X server or $DISPLAY
[469:0223/120817.435251:ERROR:env.cc(255)] The platform failed to initialize.  Exiting.
Segmentation fault

xvfb is installed; I set display as follows: export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0.0 (I do not know what I'm doing on this one).

Then the next launch jlab --verbose 4 launch take forever to respond with the same message.

On Windows:

[2023-02-21 18:11:57.289] [error] Failed to create free server Error: No default environment found!
    at C:\JupyterLab\resources\app.asar\build\out\main\registry.js:191:32
[2023-02-21 18:11:57.292] [error] (node:16172) UnhandledPromiseRejectionWarning: Error: No default environment found!
    at C:\JupyterLab\resources\app.asar\build\out\main\registry.js:191:32
(Use `JupyterLab --trace-warnings ...` to show where the warning was created)
[2023-02-21 18:11:57.292] [error] (node:16172) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
[2023-02-21 18:13:01.608] [error] Failed to get environment info at path '\\wsl.localhost\Ubuntu\home\a\.pyenv\shims\python3.10'. Error: spawn UNKNOWN
    at ChildProcess.spawn (node:internal/child_process:413:11)
    at spawn (node:child_process:737:9)
    at Object.execFile (node:child_process:338:17)
    at t.<computed> [as execFile] (node:electron/js2c/asar_bundle:2:2218)
    at C:\JupyterLab\resources\app.asar\build\out\main\registry.js:671:49
    at new Promise (<anonymous>)
    at Registry._runCommand (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:670:16)
    at Registry.getEnvironmentInfo (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:276:43)
    at Registry._resolveEnvironment (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:158:32)
[2023-02-21 18:13:02.317] [error] SyntaxError: Unexpected token 'E', "EXEC:ERROR" is not valid JSON
    at JSON.parse (<anonymous>)
    at Registry.getEnvironmentInfoSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:305:30)
    at Registry._resolveEnvironmentSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:168:26)
    at new Registry (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:70:33)
    at new JupyterApplication (C:\JupyterLab\resources\app.asar\build\out\main\app.js:175:26)
    at C:\JupyterLab\resources\app.asar\build\out\main\main.js:202:22
[2023-02-21 18:14:09.594] [error] SyntaxError: Unexpected token 'E', "EXEC:ERROR" is not valid JSON
    at JSON.parse (<anonymous>)
    at Registry.getEnvironmentInfoSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:305:30)
    at Registry._resolveEnvironmentSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:168:26)
    at new Registry (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:70:33)
    at new JupyterApplication (C:\JupyterLab\resources\app.asar\build\out\main\app.js:175:26)
    at C:\JupyterLab\resources\app.asar\build\out\main\main.js:202:22
[2023-02-21 18:14:35.967] [error] SyntaxError: Unexpected token 'E', "EXEC:ERROR" is not valid JSON
    at JSON.parse (<anonymous>)
    at Registry.getEnvironmentInfoSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:305:30)
    at Registry._resolveEnvironmentSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:168:26)
    at new Registry (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:70:33)
    at new JupyterApplication (C:\JupyterLab\resources\app.asar\build\out\main\app.js:175:26)
    at C:\JupyterLab\resources\app.asar\build\out\main\main.js:202:22
[2023-02-21 18:16:51.339] [error] SyntaxError: Unexpected token 'E', "EXEC:ERROR" is not valid JSON
    at JSON.parse (<anonymous>)
    at Registry.getEnvironmentInfoSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:305:30)
    at Registry._resolveEnvironmentSync (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:168:26)
    at new Registry (C:\JupyterLab\resources\app.asar\build\out\main\registry.js:70:33)
    at new JupyterApplication (C:\JupyterLab\resources\app.asar\build\out\main\app.js:175:26)
    at C:\JupyterLab\resources\app.asar\build\out\main\main.js:202:22

liquidcarbon avatar Feb 23 '23 19:02 liquidcarbon

@liquidcarbon WSL is not tested for JupyterLab Desktop and probably will not work in the current version. Based on the logs, Windows app is trying to launch a linux JupyterLab Server and that fails.

By the way, --verbose CLI argument has been removed (cc @JasonWeill). New way of verbose logging is:

jlab --log-level="verbose"
# or better:
jlab --log-level="debug"

mbektas avatar Feb 28 '23 16:02 mbektas

@mbektas Is there a tracking issue for "Make JupyterLab Desktop work on WSL"? If not, should we create one? Should we update the docs to indicate that Windows users should download the Windows installer rather than try to install via WSL?

JasonWeill avatar Mar 02 '23 18:03 JasonWeill

@JasonWeill we don't have an issue tracking WSL support. feel free to create one. thanks.

mbektas avatar Jun 07 '23 04:06 mbektas

@mbektas Done; just opened #666 :smiling_imp:

JasonWeill avatar Jun 07 '23 15:06 JasonWeill