Jupyter notebook won't let me save itself - python-3.x

I have a Jupyter notebook called "Visual Magnitude.ipynb" on my Windows box. I've used this notebook for several years. It's under CM control (perforce is our CM tool). Normally I don't have it checked out, so it's marked as read-only on the file system. Sometimes I open it up (knowing it's read-only), add a few cells, look at some results, and close it out, knowing the new cells won't be saved. This is ok.
But lately I've run into a situation where I forgot to check it out of perforce first, then added/modified some cells. When I went to save it Jupyter complained it was read-only. So I checked it out (thus removing the read-only status on the file system). Jupyter still doesn't recognize this. So I quit Jupyter all together and restart it with the notebook (which is now writable). But Jupyter refuses to recognize this and still treats it as if it were locked. Almost as if it's caching the file status in some location.
I've rebooted and still have the same problem. What am I missing to convince Jupyter that this notebook is now writable?
I'm using Jupyter 4.4.0.

It turns out that there was a hidden file .~Visual Magnitude.ipynb in the same folder that was still marked read only. Once I deleted that everything was fine.

Related

a lot of lagging for a big file inside jupyter lab

I love jupyter lab. But for a big file ( 600KB), scrolling the file has a lot of lagging. I move my mouse to scroll down or up, but I have to wait for 5-20 seconds before the page starts to move. For the same file, if I open in VSC, it is very smooth without any lagging. so it is not related to my file issue. it is something to do with jupyter lab.
I am using latest jupyter lab version.
Any suggestion I can do to remove the lagging inside jupyter lab? Thanks

jupyter lab reopen previous closed/shutdown notebook

After closing jupyter lab and re-launching jupyter lab, it always opens a notebook that was shutdown in previous session. How do I properly remove that notebook from re-opening on every launch?
jupyter lab --version #1.2.15
any notebook created in Jupyter lab gets auto saved and by default it autoloads the previous session which was last worked upon. Even your untitled notebooks gets autosaved, you can always check in the path where it is installed
[right click the kernal and there ill be a delete option or use the close button (x) right on top]

Jupyter Notebook didn't save for over a day. How can I recover lost work?

I've lost a day's work in Jupyter Notebook because it didn't autosave. As I was working, I would click on File > Save and Checkpoint to be safe. I closed the notebook when I finished working and when I tried reopening it, I see that essentially all my work is gone and it says Last Checkpoint: a day ago (autosaved) next to the filename. I now realize that I had been working for a long time on the notebook with an orange box with some kind of error message. I'm sorry that I can't remember the specific message right now, but I think it was something involving POS or POST or POSIT ...?. I saw Trusted next to the error message, so I must've thought things were OK.
I tried opening the filename-checkpoint.ipynb file within the .ipynb_checkpoints folder but it's blank. I looked up a possible solution on Recovering from a Jupyter Disaster, but it requires SQL, which I don't know. Is there any hope for recovering my work? I realize that this is probably a rookie mistake, but I'm pretty new at this.
Thanks
PS: I'm running Python3 on MacOS
Hope you've already found how to recover lost work from Jupyter notebook work. If not, try the following:
Go to Anaconda Navigator (the green circle!)
Launch a Jupyter Lab
In Jupyter Lab, open a Terminal window
Launch iPython in the terminal by typing ipython and hitting enter
Hit Up arrow
All your code are stored in history and each cell compilation that you would've done in the past shows up there.
Copy+Paste it back to a new Jupyter notebook and you are ready to go again!
If you want to copy/paste.
After running terminal and ipython, page_up yo code you want. Click right button on a mouse, then Watch the elements code. Now you can select code, copy and paste it.
If you don't have Anaconda Navigator you can do access the same data the manual way:
open a new ipython terminal
type %history -g -f history.txt
This will output the entire history of edits which are saved in history.sqlite in your IPython profile folder. You can scroll down to the bottom to find your most recent edits.
You can also just explore the history.sqlite directly, which is located in your IPython profile. The profile should be inside .ipython in your user directory (windows and linux).
Thanks to Christian Long's answer on another question for providing this info.

Spyder 3.2.8: Code only adopts changes for the first time after that restart of Spyder/Kernel necessary

So originally i thought it only affected changes to my plots but no changes to my code are applied even after saving the *.py file.
After updating to Spyder 3.2.8 the problem still persists.
I found a workaround by restarting the kernel and then rerunning the code so i don't have to close and reopen spyder every time at least.
The problem with this solution is that all my variables are deleted ofc. I found a solution to my problem here
Spyder IDE reload code with run selection ('F9')
and here IPython 3.2.1 documentation.
But when i enter the the first command in ipthyon it tells me it's already activated and after that neither %autoreload nor %autoreload 2 seem to have an effect.
As an example for my problem you can basically take the code example at the IPython 3.2.1 documentation link. For me it wouldn't update from 42 to 43 but still stay at 42.
Another thing is it seems to adopt the first changes i do. I start Spyder run my code everything is fine. I then change something in a *.py file like changing the name of an axis label in a plot. If i run the whole code again or just the changed function with the IPython console it works and integrates the change accordingly. But after that no changes are updated anymore.

Highlight to select and Middle-button to paste in jupyter notebook?

In Jupyter Notebook, when I highlight text either from within a cell in the notebook or from outside the notebook, Middle-Button click doesn't paste anything as it is supposed to do in many other applications in linux. Is there any setting that would allow one to be able to paste with a Middle-Button click into an Ipython or Jupyter Notebook?
I'm using the notebook in firefox if that matters.
The fact that you're using Firefox definitely matters. See this issue on CodeMirror (CodeMirror is the text editor that Juypter uses): Issue #931
In that thread, it references this Firefox issue: https://bugzilla.mozilla.org/show_bug.cgi?id=846674
It seems as though the issue has only recently been fixed, so it may take a little bit to trickle into CodeMirror. You may want to comment on the issue in CodeMirror to inform them that the issue has been fixed on FF and it might prompt them to investigate.
However, Jupyter doesn't automatically use the most recent version of CodeMirror so again you may have to wait a while. If this issue is truly critical then I suggest switching to another browser.

Resources