简体   繁体   中英

Jupyter Notebook: Access to the file was denied

I'm trying to run a Jupyter notebook on Ubuntu 21.10. I've installed python, jupyter notebook, and all the various prerequisites. I added export PATH=$PATH:~/.local/bin to my bashrc so that the command jupyter notebook would be operational from the terminal.

When I call jupyter notebook from the terminal, I get the following error message from my browser:

Access to the file was denied.

The file at /home/username/.local/share/jupyter/runtime/nbserver-260094-open.html is not readable.

    It may have been removed, moved, or file permissions may be preventing access.

I'm using the latest version of FireFox.

I've read a number of guides on this and it seems to be a permissions error, but none of the guides that I've used have resolved the issue. Using sudo does not help, in fact it causes Exception: Jupyter command "jupyter-notebook" not found. to be thrown.

That being said, I am still able to access the notebook server. If I go to the terminal and instead click on the localhost:8888 or IP address of the notebook server then it takes me to the notebook and everything runs without issue.

I would like to solve this so that when I run jupyter notebook I'm taken to the server and don't need to go back to the terminal window and click the IP address. It's inconvenient and can slow me down if I'm running multiple notebooks at once.

Any help on this issue would be greatly appreciated!

I had the same problem.

Ubuntu 20.04.3 LTS Chromium Version 96.0.4664.110

This was the solution in my case:

Create the configuration file with this command:

jupyter notebook --generate-config

Edit the configuration file ~/.jupyter/jupyter_notebook_config.py and set:

c.NotebookApp.use_redirect_file = False

Make sure that this configuration parameter starts at the beginning of the line. If you leave one space at the beginning of the line, you will get the message that access to the file was denied.

Otherwise you can clean and reinstall JupyterLab

jupyter lab clean --all
pip3 install jupyterlab --force-reinstall

If anyone is curious, the reason for the problem is that the file:// URI scheme cannot access files in hidden directories directly under the home directory ( ~/.local in your case).

You can recreate the problem with: mkdir ~/.test && echo "abc" > ~/.test/file.html && xdg-open ~/.test/file.html

I couldn't find any reference for this behaviour in RFC8089 , and I also don't understand how the Jupyter authors missed this issue.

As LSeu suggested, the way to bypass the local redirection file, is to run: echo "c.NotebookApp.use_redirect_file = False" >> ~/.jupyter/jupyter_notebook_config.py

Another solution is to run jupyter notebook --no-browser and (Ctrl)-click the link in the terminal.

Try this

sudo nano  ~/.bashrc

Add at the begining of the file:

 export XDG_RUNTIME_DIR="" 

Press Ctrl-o to write file and Ctrl+x to exit.

Now type:

source ~/.bashrc

For those running Firefox installed with snap:

I think this issue has more to do with firefox installed with Snap, which somewhere along the way disallows Firefox access to hidden directories inside the /home/user folder in its sandboxed environment.

Another solution not mentioned in this thread (if you don't want to use another browser install) is to set the JUPYTER_RUNTIME_DIR env variable to a non-hidden directory in the /home/user folder:

# Ubuntu 22.04.1 LTS
# append env variable to persistent user env file.  requires relogging in
echo JUPYTER_RUNTIME_DIR=/home/user/jupyter_runtime >> ~/.pam_environment
reboot

Alternatively, try going directly to the other suggested URLs: http://localhost:8888/lab?token=<your-access-token> or http://127.0.0.1:8888/lab?token=<your-access-token> (which is what setting the ...use_redirect_file = False does

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM