Closed sarkrui closed 11 months ago
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.
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:
Could someone fix this, please?
Having this issue since v3.3.4
Issue still exists on v3.3.4-2 I created an alias /Users/user_name/Library/jupyterlab-desktop/jlab_server/bin/python to the python path, which in my case is, /Users/user_name/opt/anaconda3/bin/python
Also having this issue on v3.3.4-2. Tried pointing to the symlink ~/miniconda3/bin/python
and its destination ~/miniconda3/bin/python3.10
but both failed. Looks like v3.3.2-1 is the latest version without this issue.
@lukelbd could you run conda list
in the selected environment and paste it here, please?
Here you go (inside <details>
):
And what is the path to the python
file corresponding to this environment?
It's /Users/ldavis/miniconda3/bin/python
(the base environment)
What is the output of:
/Users/ldavis/miniconda3/bin/python -m jupyterlab --version
? This is equivalent of what https://github.com/jupyterlab/jupyterlab-desktop/blob/2ce9c04ae490a98af186ae0463e2fd4e3619ad5d/src/main/registry.ts#L319-L323 does
It's version 3.4.2
.
Let's try few more things.
adds extra paths to PATH. I am assuming that you are NOT using Windows, is it correct? If so, what about:
PATH="/Users/ldavis/miniconda3/bin/:/Users/ldavis/miniconda3/bin/bin:$PATH" /Users/ldavis/miniconda3/bin/python -m jupyterlab --version
(let's hope there is no typo, it's basically supposed to reproduce how https://github.com/jupyterlab/jupyterlab-desktop/blob/2ce9c04ae490a98af186ae0463e2fd4e3619ad5d/src/main/registry.ts#L943 modifies the path before getting the version).
That gives the same result (/Users/ldavis/miniconda3/bin/
is already in $PATH
). It's macOS.
Thank you for all the help. Looking further at the code, there is also this check:
fs.existsSync
could return false
if the path is not properly expanded, e.g. if your file picker returns ~/miniconda3/bin/
instead of /Users/ldavis/miniconda3/bin/
. I am not sure about this. To be 100% positive it would help if you could confirm what exactly does the error dialog say (is the path there expended or not?).
Yep it's expanded in the error message (and when I select it)
Maybe we are looking in a wrong place. Maybe it is something specifically about conda
environments? That could be related to: https://github.com/jupyterlab/jupyterlab-desktop/pull/425 ?
Could be, although that PR was merged before the latest release.
I tried with miniconda installed locally and could not reproduce it (but I do not have a mac available). If you start JupterLab Desktop from terminal using jlab
command, is there anything printed out when you try to change the environment to miniconda?
Anything in logs (~/Library/Logs/jupyterlab-desktop/renderer.log-
and ~/Library/Logs/jupyterlab-desktop/renderer.log
)?
Hi. I upgraded from jupyterlab-app (3.1.12-1)
to jupyterlab-desktop (3.3.4-2)
on my Debian Linux laptop and got this error too.
Set Python Environment
Failed to find a compatible Python environment at the configured path "/home/adam/.config/jupyterlab-desktop/jlab_server/bin/python". Environment Python package requirements are: jupyterlab >=3.1.0.
I ran mv ~/.config/jupyterlab_app{,.bak}
after removing jupyterlab-app (3.1.12-1)
. I am trying to use a conda env Python3 too. conda
is alreay in my PATH
, which can be confirmed by running conda activate sklearn-env
to get a working python 3.9.13 env.
I tried launching in a terminal with /opt/JupyterLab/jupyterlab-desktop
command after I activated the conda Python3 env but the same error persisted. This is ~/.config/jupyterlab-desktop/logs/main.log
:
[2022-08-04 18:17:42.927] [info] In production mode
[2022-08-04 18:17:42.931] [info] Logging to file (/home/adam/.config/jupyterlab-desktop/logs/main.log) at 'false' level
[2022-08-04 18:17:42.994] [error] (node:790120) DeprecationWarning: findLogPath() is deprecated and will be removed in v5.
(Use `jupyterlab-desktop --trace-deprecation ...` to show where the warning was created)
[2022-08-04 18:19:48.776] [error] Failed to check for updates: FetchError: request to https://github.com/jupyterlab/jupyterlab-desktop/releases/latest/download/latest.yml failed, reason: socket hang up
at ClientRequest.<anonymous> (/opt/JupyterLab/resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketOnEnd (node:_http_client:471:9)
at TLSSocket.emit (node:events:406:35)
at endReadableNT (node:internal/streams/readable:1331:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
[2022-08-04 18:32:37.702] [info] In production mode
[2022-08-04 18:32:37.704] [info] Logging to file (/home/adam/.config/jupyterlab-desktop/logs/main.log) at 'false' level
[2022-08-04 18:32:37.756] [error] (node:791112) DeprecationWarning: findLogPath() is deprecated and will be removed in v5.
(Use `jupyterlab-desktop --trace-deprecation ...` to show where the warning was created)
[2022-08-04 18:32:38.927] [error] (node:791112) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, scandir '/home/adam/Programs/miniconda3/envs/sklearn-env/envs'
[2022-08-04 18:32:38.927] [error] (node:791112) 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: 1)
[2022-08-04 18:34:43.656] [error] Failed to check for updates: FetchError: request to https://github.com/jupyterlab/jupyterlab-desktop/releases/download/v3.3.4-2/latest.yml failed, reason: socket hang up
at ClientRequest.<anonymous> (/opt/JupyterLab/resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketOnEnd (node:_http_client:471:9)
at TLSSocket.emit (node:events:406:35)
at endReadableNT (node:internal/streams/readable:1331:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
[2022-08-04 18:36:49.413] [info] In production mode
[2022-08-04 18:36:49.416] [info] Logging to file (/home/adam/.config/jupyterlab-desktop/logs/main.log) at 'false' level
[2022-08-04 18:36:49.472] [error] (node:791429) DeprecationWarning: findLogPath() is deprecated and will be removed in v5.
(Use `jupyterlab-desktop --trace-deprecation ...` to show where the warning was created)
[2022-08-04 18:38:55.664] [error] Failed to check for updates: FetchError: request to https://github.com/jupyterlab/jupyterlab-desktop/releases/download/v3.3.4-2/latest.yml failed, reason: socket hang up
at ClientRequest.<anonymous> (/opt/JupyterLab/resources/app.asar/node_modules/node-fetch/lib/index.js:1491:11)
at ClientRequest.emit (node:events:394:28)
at TLSSocket.socketOnEnd (node:_http_client:471:9)
at TLSSocket.emit (node:events:406:35)
at endReadableNT (node:internal/streams/readable:1331:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
See the line
[2022-08-04 18:32:38.927] [error] (node:791112) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, scandir '/home/adam/Programs/miniconda3/envs/sklearn-env/envs'
It's definitely looking for the wrong thing, where I was told to choose a the path to python (in my case /home/adam/Programs/miniconda3/envs/sklearn-env/bin/python3
), but it's somehow looking for a env? I may have to set /home/adam/Programs/miniconda3/envs/
at Use a custom Python environment
but it won't let me choose a path to a dir.
Help this helps.
I am on Mac OS Here is the behavior I experienced: after putting in the anaconda path for Use Custom Python Environment
it came back with the message that it did not find python in the default path. But I asked it to use the custom path! So I gave up and created an alias (not a symbolic link) in the default path to where anaconda python was installed, and everything went smoothly. I don't remember if I still checked the 'Use Custom Python Environment' or not.
default path: /Users/user_name/Library/jupyterlab-desktop/jlab_server/bin/python
anaconda path:/Users/user_name/opt/anaconda3/bin/python
This might not be relevant, but I was facing similar issue (M1Pro, macOS 13). I circumvent this by uninstalling python
(originally installed using homebrew), then installing it from scratch using -
pyenv
python
using pyenv
jupyterlab
using brew
You can find the instructions here: How to install Jupyter Notebook on Mac using Homebrew
PS: I didn't want to install another package/version manager (such as conda) in addition to homebrew.
Can also confirm that this is similarly broken on M1 Pro. It is impossible to switch environments from conda to pip. The system never recognizes my virtualenv with jupyterlab installed. It works just fine on my Intel Mac Mini.
I cannot use Jupyter Desktop at all since Conda is a nonviable environment for us.
Jupyter installed via homebrew, using the instructions above, works.
For anyone else facing this, please make sure that you do not have a directory named jupyterlab
or file named jupyterlab.py
(or jupyterlab_server
, or jupyter_server
) in the home directory or another place from which you attempt to run JupyterLab Desktop. Please leave a thumps up if this advice was relevant.
Interesting. Not the problem that I am having. But, interesting solution.
I upgraded to Jupyter Desktop 3.4.5-1 and this problem is still present in this version.
Thank you everyone who chimed in. A likely fix for users of miniconda and miniforge is in https://github.com/jupyterlab/jupyterlab-desktop/pull/489.
Thank you everyone who chimed in. A likely fix for users of miniconda and miniforge is in #489.
Downloaded deb packgage from https://github.com/jupyterlab/jupyterlab-desktop/actions/runs/2986314246 , upgraded jupyterlab in conda to 3.4.5 pyhd8ed1ab_0
, still the same. And yes I am using miniconda.
Thank you for trying it out. Would you mind pasting the main process logs (paths are described in new bug issue template) and a little more information on your setup?
Thank you for trying it out. Would you mind pasting the main process logs (paths are described in new bug issue template) and a little more information on your setup?
Yes of course. I am running Debian GNU/Linux sid x86_64, miniconda with conda 4.10.3
, python version 3.9.7.final.0
, conda list:
# packages in environment at /home/adam/Programs/miniconda3/envs/sklearn
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
_py-xgboost-mutex 2.0 cpu_0 defaults
anyio 3.6.1 py39hf3d152e_0 conda-forge
argon2-cffi 21.3.0 pyhd3eb1b0_0 defaults
argon2-cffi-bindings 21.2.0 py39h7f8727e_0 defaults
asttokens 2.0.5 pyhd3eb1b0_0 defaults
async_generator 1.10 pyhd3eb1b0_0 defaults
attrs 21.4.0 pyhd3eb1b0_0 defaults
babel 2.10.3 pyhd8ed1ab_0 conda-forge
backcall 0.2.0 pyhd3eb1b0_0 defaults
beautifulsoup4 4.11.1 py39h06a4308_0 defaults
black 22.3.0 pyhd8ed1ab_0 conda-forge
blas 2.14 openblas conda-forge
bleach 5.0.1 pyhd8ed1ab_0 conda-forge
bottleneck 1.3.4 py39hce1f21e_0 defaults
brotli 1.0.9 he6710b0_2 defaults
brotlipy 0.7.0 py39h27cfd23_1003 defaults
bzip2 1.0.8 h7b6447c_0 defaults
c-ares 1.18.1 h7f8727e_0 defaults
ca-certificates 2022.07.19 h06a4308_0 defaults
certifi 2022.6.15 py39h06a4308_0 defaults
cffi 1.15.0 py39hd667e15_1 defaults
charset-normalizer 2.0.12 pyhd8ed1ab_0 conda-forge
click 8.1.3 py39hf3d152e_0 conda-forge
cloudpickle 2.1.0 pyhd8ed1ab_0 conda-forge
conda 4.13.0 py39h06a4308_0 defaults
conda-package-handling 1.8.1 py39h7f8727e_0 defaults
cryptography 37.0.2 py39hd97740a_0 conda-forge
cycler 0.11.0 pyhd3eb1b0_0 defaults
daal4py 2021.5.0 py39h78b71dc_0 defaults
dal 2021.5.1 h06a4308_803 defaults
dataclasses 0.8 pyh6d0b6a4_7 defaults
dbus 1.13.18 hb2f20db_0 defaults
debugpy 1.6.0 py39h5a03fae_0 conda-forge
decorator 5.1.1 pyhd3eb1b0_0 defaults
defusedxml 0.7.1 pyhd3eb1b0_0 defaults
descartes 1.1.0 pyhd3eb1b0_4 defaults
entrypoints 0.4 py39h06a4308_0 defaults
executing 0.8.3 pyhd3eb1b0_0 defaults
expat 2.4.8 h27087fc_0 conda-forge
fontconfig 2.14.0 h8e229c2_0 conda-forge
fonttools 4.33.3 py39hb9d737c_0 conda-forge
freetype 2.11.0 h70c0345_0 defaults
gettext 0.21.0 hf68c758_0 defaults
giflib 5.2.1 h7b6447c_0 defaults
glib 2.70.2 h780b84a_4 conda-forge
glib-tools 2.70.2 h780b84a_4 conda-forge
gst-plugins-base 1.14.0 h8213a91_2 defaults
gstreamer 1.14.0 h28cd5cc_2 defaults
icu 58.2 he6710b0_3 defaults
idna 3.3 pyhd3eb1b0_0 defaults
importlib-metadata 4.11.4 py39hf3d152e_0 conda-forge
importlib_metadata 4.11.4 hd8ed1ab_0 conda-forge
importlib_resources 5.8.0 pyhd8ed1ab_0 conda-forge
intel-openmp 2022.0.1 h06a4308_3633 defaults
ipykernel 6.15.0 pyh210e3f2_0 conda-forge
ipython 8.4.0 py39hf3d152e_0 conda-forge
ipython_genutils 0.2.0 pyhd3eb1b0_1 defaults
ipywidgets 7.7.1 pyhd8ed1ab_0 conda-forge
jbig 2.1 hdba287a_0 defaults
jedi 0.18.1 py39h06a4308_1 defaults
jinja2 3.1.2 pyhd8ed1ab_1 conda-forge
joblib 1.1.0 pyhd3eb1b0_0 defaults
jpeg 9e h7f8727e_0 defaults
json5 0.9.6 pyhd3eb1b0_0 defaults
jsonschema 4.6.0 pyhd8ed1ab_0 conda-forge
jupyter 1.0.0 py39h06a4308_7 defaults
jupyter_client 7.3.4 pyhd8ed1ab_0 conda-forge
jupyter_console 6.4.4 pyhd8ed1ab_0 conda-forge
jupyter_contrib_core 0.3.3 py_2 conda-forge
jupyter_contrib_nbextensions 0.5.1 pyhd8ed1ab_2 conda-forge
jupyter_core 4.10.0 py39h06a4308_0 defaults
jupyter_highlight_selected_word 0.2.0 py39hf3d152e_1005 conda-fo
jupyter_latex_envs 1.4.6 pyhd8ed1ab_1002 conda-forge
jupyter_nbextensions_configurator 0.4.1 py39hf3d152e_2 conda-fo
jupyter_server 1.18.1 py39h06a4308_0 defaults
jupyterlab 3.4.5 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge
jupyterlab_server 2.15.0 pyhd8ed1ab_0 conda-forge
jupyterlab_widgets 1.1.1 pyhd8ed1ab_0 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
kiwisolver 1.4.3 py39hf939315_0 conda-forge
krb5 1.19.3 h3790be6_0 conda-forge
lcms2 2.12 h3be6417_0 defaults
ld_impl_linux-64 2.38 h1181459_1 defaults
lerc 3.0 h295c915_0 defaults
libarchive 3.5.2 h5de8990_0 defaults
libblas 3.8.0 14_openblas conda-forge
libcblas 3.8.0 14_openblas conda-forge
libcurl 7.83.1 h7bff187_0 conda-forge
libdeflate 1.12 h166bdaf_0 conda-forge
libedit 3.1.20210910 h7f8727e_0 defaults
libev 4.33 h7f8727e_1 defaults
libffi 3.4.2 h295c915_4 defaults
libgcc-ng 12.1.0 h8d9b700_16 conda-forge
libgfortran-ng 7.5.0 ha8ba4b0_17 defaults
libgfortran4 7.5.0 ha8ba4b0_17 defaults
libglib 2.70.2 h174f98d_4 conda-forge
libgomp 12.1.0 h8d9b700_16 conda-forge
libiconv 1.16 h7f8727e_2 defaults
liblapack 3.8.0 14_openblas conda-forge
liblapacke 3.8.0 14_openblas conda-forge
libllvm11 11.1.0 h3826bc1_1 defaults
libmamba 0.24.0 hd8a31e3_1 conda-forge
libmambapy 0.24.0 py39hd55135b_1 conda-forge
libnghttp2 1.47.0 h727a467_0 conda-forge
libnsl 2.0.0 h7f98852_0 conda-forge
libopenblas 0.3.7 h5ec1e0e_6 conda-forge
libpng 1.6.37 hbc83047_0 defaults
libpq 14.4 hd77ab85_0 conda-forge
libsodium 1.0.18 h7b6447c_0 defaults
libsolv 0.7.22 h6239696_0 conda-forge
libssh2 1.10.0 h8f2d780_0 defaults
libstdcxx-ng 12.1.0 ha89aaad_16 conda-forge
libtiff 4.4.0 hc85c160_1 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libwebp 1.2.2 h55f646e_0 defaults
libwebp-base 1.2.2 h7f8727e_0 defaults
libxcb 1.15 h7f8727e_0 defaults
libxgboost 1.5.1 cpu_h3d145d1_2 conda-forge
libxml2 2.9.14 h74e7548_0 defaults
libxslt 1.1.35 h4e12654_0 defaults
libzlib 1.2.12 h166bdaf_1 conda-forge
lime 0.2.0.1 pyh9f0ad1d_0 conda-forge
llvmlite 0.38.1 py39h7d9a04d_0 conda-forge
lxml 4.9.0 py39hb9d737c_0 conda-forge
lz4-c 1.9.3 h295c915_1 defaults
lzo 2.10 h7b6447c_2 defaults
mamba 0.24.0 py39hfa8f2c8_1 conda-forge
markupsafe 2.1.1 py39h7f8727e_0 defaults
matplotlib 3.5.2 py39hf3d152e_0 conda-forge
matplotlib-base 3.5.2 py39h700656a_0 conda-forge
matplotlib-inline 0.1.3 pyhd8ed1ab_0 conda-forge
missingno 0.4.2 pyhd3eb1b0_1 defaults
mistune 0.8.4 py39h27cfd23_1000 defaults
mizani 0.7.4 pyhd8ed1ab_0 conda-forge
mkl 2022.0.1 h06a4308_117 defaults
mkl-service 2.4.0 py39h404a4ab_0 conda-forge
mkl_fft 1.3.1 py39h1fd5c3a_3 conda-forge
mkl_random 1.2.2 py39h8b66066_1 conda-forge
mpi 1.0 mpich defaults
mpich 3.3.2 hc856adb_0 defaults
munkres 1.1.4 py_0 defaults
mypy_extensions 0.4.3 py39h06a4308_1 defaults
nbclassic 0.4.3 pyhd8ed1ab_0 conda-forge
nbclient 0.6.4 pyhd8ed1ab_1 conda-forge
nbconvert 6.5.0 pyhd8ed1ab_0 conda-forge
nbconvert-core 6.5.0 pyhd8ed1ab_0 conda-forge
nbconvert-pandoc 6.5.0 pyhd8ed1ab_0 conda-forge
nbformat 5.4.0 pyhd8ed1ab_0 conda-forge
ncurses 6.3 h7f8727e_2 defaults
nest-asyncio 1.5.5 py39h06a4308_0 defaults
notebook 6.4.12 pyha770c72_0 conda-forge
notebook-shim 0.1.0 pyhd8ed1ab_0 conda-forge
numba 0.55.2 py39h66db6d7_0 conda-forge
numexpr 2.8.1 py39hecfb737_0 defaults
numpy 1.22.3 py39h7a5d4dd_0 defaults
numpy-base 1.22.3 py39hb8be1f0_0 defaults
olefile 0.46 pyhd3eb1b0_0 defaults
openssl 1.1.1q h7f8727e_0 defaults
packaging 21.3 pyhd3eb1b0_0 defaults
palettable 3.3.0 pyhd3eb1b0_0 defaults
pandas 1.4.3 py39h1832856_0 conda-forge
pandoc 2.18 ha770c72_0 conda-forge
pandocfilters 1.5.0 pyhd3eb1b0_0 defaults
parso 0.8.3 pyhd3eb1b0_0 defaults
pathspec 0.9.0 pyhd8ed1ab_0 conda-forge
patsy 0.5.2 py39h06a4308_1 defaults
pcre 8.45 h295c915_0 defaults
pexpect 4.8.0 pyhd3eb1b0_3 defaults
pickleshare 0.7.5 pyhd3eb1b0_1003 defaults
pillow 9.0.1 py39h22f2fdc_0 defaults
pip 22.1.2 pyhd8ed1ab_0 conda-forge
platformdirs 2.5.1 pyhd8ed1ab_0 conda-forge
plotnine 0.8.0 pyhd8ed1ab_0 conda-forge
prometheus_client 0.14.1 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.30 pyha770c72_0 conda-forge
prompt_toolkit 3.0.30 hd8ed1ab_0 conda-forge
psutil 5.9.1 py39hb9d737c_0 conda-forge
psycopg2 2.9.3 py39h3811e60_0 conda-forge
ptyprocess 0.7.0 pyhd3eb1b0_2 defaults
pure_eval 0.2.2 pyhd3eb1b0_0 defaults
py-xgboost 1.5.1 cpu_py39h4655687_2 conda-forge
pybind11-abi 4 hd8ed1ab_3 conda-forge
pycosat 0.6.3 py39h27cfd23_0 defaults
pycparser 2.21 pyhd3eb1b0_0 defaults
pygments 2.12.0 pyhd8ed1ab_0 conda-forge
pyopenssl 22.0.0 pyhd3eb1b0_0 defaults
pyparsing 3.0.9 pyhd8ed1ab_0 conda-forge
pyqt 5.9.2 py39h2531618_6 defaults
pyrsistent 0.18.1 py39hb9d737c_1 conda-forge
pysocks 1.7.1 py39h06a4308_0 defaults
python 3.9.13 h9a8a25e_0_cpython conda-forge
python-dateutil 2.8.2 pyhd3eb1b0_0 defaults
python-fastjsonschema 2.15.3 pyhd8ed1ab_0 conda-forge
python_abi 3.9 2_cp39 conda-forge
pytz 2022.1 py39h06a4308_0 defaults
pyyaml 6.0 py39h7f8727e_1 defaults
pyzmq 23.2.0 py39headdf64_0 conda-forge
qt 5.9.7 h5867ecd_1 defaults
qtconsole 5.3.1 pyhd8ed1ab_0 conda-forge
qtconsole-base 5.3.1 pyha770c72_0 conda-forge
qtpy 2.1.0 pyhd8ed1ab_0 conda-forge
readline 8.1.2 h7f8727e_1 defaults
reproc 14.2.4 h295c915_1 defaults
reproc-cpp 14.2.4 h295c915_1 defaults
requests 2.28.0 pyhd8ed1ab_1 conda-forge
ruamel_yaml 0.15.100 py39h27cfd23_0 defaults
scikit-learn 1.1.1 py39h4037b75_0 conda-forge
scikit-learn-intelex 2021.5.0 py39h06a4308_0 defaults
scipy 1.7.3 py39h492baa0_0 defaults
seaborn 0.11.2 pyhd3eb1b0_0 defaults
send2trash 1.8.0 pyhd3eb1b0_1 defaults
setuptools 62.6.0 py39hf3d152e_0 conda-forge
shap 0.41.0 py39h1832856_0 conda-forge
sip 4.19.13 py39h295c915_0 defaults
six 1.16.0 pyhd3eb1b0_1 defaults
slicer 0.0.7 pyhd3eb1b0_0 defaults
sniffio 1.2.0 py39h06a4308_1 defaults
soupsieve 2.3.1 pyhd3eb1b0_0 defaults
sqlite 3.39.0 h4ff8645_0 conda-forge
stack_data 0.3.0 pyhd8ed1ab_0 conda-forge
statsmodels 0.13.2 py39h7f8727e_0 defaults
tableone 0.7.10 pyhd3deb0d_0 conda-forge
tabulate 0.8.10 pyhd8ed1ab_0 conda-forge
tbb 2021.5.0 hd09550d_0 defaults
terminado 0.15.0 py39hf3d152e_0 conda-forge
testpath 0.6.0 py39h06a4308_0 defaults
threadpoolctl 3.1.0 pyh8a188c0_0 conda-forge
tinycss2 1.1.1 pyhd8ed1ab_0 conda-forge
tk 8.6.12 h1ccaba5_0 defaults
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
tornado 6.1 py39h27cfd23_0 defaults
tqdm 4.64.0 py39h06a4308_0 defaults
traitlets 5.3.0 pyhd8ed1ab_0 conda-forge
typed-ast 1.5.4 py39hb9d737c_0 conda-forge
typing-extensions 4.2.0 hd8ed1ab_1 conda-forge
typing_extensions 4.2.0 pyha770c72_1 conda-forge
tzdata 2022a hda174b7_0 defaults
unicodedata2 14.0.0 py39hb9d737c_1 conda-forge
urllib3 1.26.9 py39h06a4308_0 defaults
wcwidth 0.2.5 pyhd3eb1b0_0 defaults
webencodings 0.5.1 py39h06a4308_1 defaults
websocket-client 1.3.3 pyhd8ed1ab_0 conda-forge
wheel 0.37.1 pyhd3eb1b0_0 defaults
widgetsnbextension 3.6.1 pyha770c72_0 conda-forge
xgboost 1.5.1 cpu_py39h4655687_2 conda-forge
xz 5.2.5 h7f8727e_1 defaults
yaml 0.2.5 h7b6447c_0 defaults
yaml-cpp 0.7.0 h295c915_1 defaults
zeromq 4.3.4 h2531618_0 defaults
zipp 3.8.0 py39h06a4308_0 defaults
zlib 1.2.12 h166bdaf_1 conda-forge
zstd 1.5.2 ha4553b6_0 defaults
~/.config/jupyterlab-desktop/logs/main.log
: https://paste.gg/p/anonymous/f2195fb0f31e48a9a60f0507f7ee6a1d/files/7c04350b34c44be29a1086abc2476651/raw
Hope this helps.
Thank you @JackieMium! The fix for the error we saw earlier works:
[2022-09-05 20:11:09.488] [warn] No sub-environments in root: /home/adam/Programs/miniconda3/envs/sklearn-env
I wonder why it says /home/adam/Programs/miniconda3/envs/sklearn-env
whereas you conda list
say it is /home/adam/Programs/miniconda3/envs/sklearn
?
Would you mind running /home/adam/Programs/miniconda3/bin/conda info --json
and letting us know what is the root_prefix
path returned and relevant "envs"?
@krassowski Where do I find my similar logs for MacOS?
Thank you @JackieMium! The fix for the error we saw earlier works:
[2022-09-05 20:11:09.488] [warn] No sub-environments in root: /home/adam/Programs/miniconda3/envs/sklearn-env
I wonder why it says
/home/adam/Programs/miniconda3/envs/sklearn-env
whereas youconda list
say it is/home/adam/Programs/miniconda3/envs/sklearn
?Would you mind running
/home/adam/Programs/miniconda3/bin/conda info --json
and letting us know what is theroot_prefix
path returned and relevant "envs"?
Oh I am really sorry, it was a small mistake when I copy-paste, conda list did report
# packages in environment at /home/adam/Programs/miniconda3/envs/sklearn-env:
and here is the part about envs from conda info --json
output:
...
"default_prefix": "/home/adam/Programs/miniconda3/envs/sklearn-env",
"env_vars": {
"CIO_TEST": "<not set>",
"CONDA_DEFAULT_ENV": "sklearn-env",
"CONDA_EXE": "/home/adam/Programs/miniconda3/bin/conda",
"CONDA_PREFIX": "/home/adam/Programs/miniconda3/envs/sklearn-env",
"CONDA_PROMPT_MODIFIER": "(sklearn-env) ",
"CONDA_PYTHON_EXE": "/home/adam/Programs/miniconda3/bin/python",
"CONDA_ROOT": "/home/adam/Programs/miniconda3",
"CONDA_SHLVL": "1",
"CURL_CA_BUNDLE": "<not set>",
"PATH": "/home/adam/Programs/miniconda3/bin:/home/adam/Programs/miniconda3/envs/sklearn-env/bin:/home/adam/Programs/miniconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games",
"REQUESTS_CA_BUNDLE": "<not set>",
"SSL_CERT_FILE": "<not set>",
"XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0",
"XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session0"
},
"envs": [
"/home/adam/Programs/miniconda3",
"/home/adam/Programs/miniconda3/envs/r-reticulate",
"/home/adam/Programs/miniconda3/envs/r-reticulate/envs/r-reticulate",
"/home/adam/Programs/miniconda3/envs/sklearn-env"
],
"envs_dirs": [
"/home/adam/Programs/miniconda3/envs",
"/home/adam/.conda/envs"
],
...
@krassowski Where do I find my similar logs for MacOS?
Refer to the new issue template, I believe on macOS the log file should be ~/Library/Logs/jupyterlab-desktop/main.log
For completness, does it have root_prefix
section?
I'm having the same problem with Jupyterlab desktop version 3.4.6-1 and found a somewhat more elegant workaround(My custom python path is /usr/local/bin/python3 ):
So basically I'm just soft linking the custom python bin path to the place jupyterlab desktop is looking for. Hope this helps.
I just hit something similar with a virtualenv environment on first install. I had to install the bundled environment first, then I could switch to the custom environment.
I guess my environment/PATH was messed up, I did not have any python
in the PATH and many versions in brew
but only as kegs. I'd assume manually supplying the bin location should work nevertheless, but at lest this was a good incentive to clean up my environment.
I've installed pyenv
via brew
, and then installed python 3.10.7, switched to it via. pyenv, installed jupyterlab into it via. pip and started jlab again.
➜ ~ jlab --verbose 4
➜ ~
zsh: error on TTY read: Input/output error
Saving session...completed.
[Process completed]
I had to select Use a custom Python environment
still, but when I click Apply & Restart, the terminal gets an I/O error, and the newly started jlab greets me with the same screen (ie. the custom environment that I supplied does not work).
Not sure how to debug further.
Problem persist here too.
I start up J-Lab app from terminal and select /home/adam/Programs/miniconda3/envs/sklearn-env/bin/python
as my python env, it reports:
and there is from terminal:
% ls -l /home/adam/Programs/miniconda3/envs/sklearn-env/bin/python
lrwxrwxrwx 1 adam 9 2023-01-26 15:57 /home/adam/Programs/miniconda3/envs/sklearn-env/bin/python -> python3.9*
% jlab
Traceback (most recent call last):
File "/home/adam/Programs/miniconda3/envs/sklearn-env/lib/python3.9/runpy.py", line 188, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/home/adam/Programs/miniconda3/envs/sklearn-env/lib/python3.9/runpy.py", line 147, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/home/adam/Programs/miniconda3/envs/sklearn-env/lib/python3.9/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "/home/adam/.local/lib/python3.9/site-packages/jupyterlab/__init__.py", line 7, in <module>
from .labapp import LabApp
File "/home/adam/.local/lib/python3.9/site-packages/jupyterlab/labapp.py", line 21, in <module>
from nbclassic.shim import NBClassicConfigShimMixin
File "/home/adam/.local/lib/python3.9/site-packages/nbclassic/__init__.py", line 1, in <module>
from .notebookapp import NotebookApp
File "/home/adam/.local/lib/python3.9/site-packages/nbclassic/notebookapp.py", line 20, in <module>
from notebook import (
ImportError: cannot import name 'DEFAULT_STATIC_FILES_PATH' from 'notebook' (/home/adam/Programs/miniconda3/envs/sklearn-env/lib/python3.9/site-packages/notebook/__init__.py)
It looks like that environment includes an old copy of notebook
package which is incompatible with jupyterlab 3.x. Would you be able to upgrade it in that environment?
@krassowski I am not sure. If I try to remove notebook 6.5.2
, jupyter and jupyterlab packages will be automatically removed.
Pinned down what went wrong finally. I notice from the output that jlab
is looking for packages at my user local package directory /home/adam/.local/lib/python3.9/site-packages/
. However, in this case I am running a conda environment, hence jlab
should first look for packages in my conda env, which is at /home/adam/Programs/miniconda3/envs/sklearn-env/pkgs
. So I removed /home/adam/.local/lib/python3.9/site-packages/
dir and then launch jlab
from terminal, select my conda python, all is fine.
Is this considered a bug where jlab
ignores conda env and look for python packages at user home dir first?
@JackieMium can you retry with the latest version? There has been several updates to custom environment activation.
closing since no response for long time. please create a new issue after trying with the latest if needed.
Description
With the latest release (v3.3.2-2) of Jupyterlab Desktop, I can't use python env created by conda. It prompted with the following message. With v3.3.2-1, I didn't have any issue.
Reproduce
conda activate jupyterlab
which python
/Users/myUserName/miniconda3/envs/jupyterlab/bin/python
as the Jupyter lab desktop custom env pathExpected behavior
(pre) Solution
Using the v3.3.2-1 pkg installer, boot up with no issue.