Access Jupyter notebook/lab running on a remote windows VM? - python

I want to access Jupyter lab interface on my local machine browser (also running on windows) from a Jupyter server running on a remote Windows VM.
Is there any analogous technique to SSH tunneling in linux but for windows?
Thanks in advance!
EDIT:
I am not looking for remote desktop since the code autocomplete doesn't work and it's really unresponsive (and I think people can relate to other problems of coding on a remote desktop platform)

Remote Desktop would be the easiest option.
If you need a browser, windows has ssh built in, but I think it has to be activated in the Windows options

Related

Visual Studio Code Remote Python Debug on Windows

Is it possible to remotely develop and debug Python code on another PC on the same network (both Windows 10)? If so, what is the best way to do this?
I tried mapping a network drive to the project folder on the remote PC. I could open the folder in vs code, but cannot get it to start my virtual environment on the remote machine to start debugging. When I do "Select Python Interpreter" and choose the appropriate venv on the remote machine it does nothing. The same process works fine if the venv is installed on the development machine.
I normally use WSL remote for C++ development and it works great but cant find any documentation for remote Windows development, just WSL, docker and SSH (maybe an option?)
Advice appreciated. Thanks in advance...

Access Python Spyder in Browser like Rstudio or Jupyter notebook (NOT SSH)

We have a Linux server with Jupyterhub installed and can be accessed by users over browser, similarly we are able to access Rstudio.
Is it possible to install Spyder on the Linux server and provide access via web browser. Multiple users will be accessing it simultaneously. We are not looking for remote desktop or SSH solution.
Thanks
(Spyder maintainer here) Spyder can't work inside a web browser because it's a pure desktop application, sorry.
How about broadening your search space to include VS Code Server as an alternative? It closely resembles the classic Windows (GUI) version, but it has client-server architecture, so your code resides and runs on the server, but the user interface is rendered locally in the browser, so no graphical desktop needs to be installed on the server.

Python on Windows, connect to linux/unix server to process

I work in an environment such that I have python installed on my laptop (windows 10). I also have access to a couple of Linux servers. I work with some very large datasets, some which would be too large for my machine's memory to handle.
My question, which I so far haven't found an answer to, is if it's possible to connect to the linux server and run the code from my windows PC. I want to take advantage of the processing and memory on the linux server, but don't want to log on to server and do all of my development there and execute the scripts on the linux environment.
As an aside, another person in my department has been asking if it's possible to do this from Jupyter Notebook or an IDE like Spyder?
For jupyter you could just run the Jupyter notebook on the server and connect to the server IP and edit the notebook locally.
Of course you'd have to save your local notebooks and import them on the server but that should be pretty straight forward.
You can see how to set up a public Jupyter instance on a server here:
https://jupyter-notebook.readthedocs.io/en/stable/public_server.html

Python plotting on remote server using PyCharm

I have started to learn Python and so far my setup has been following - Python 3.5 installation on Win10 64bit local machine with PyCharm as a great IDE. Everything works, matplotlib charts and other visual outputs display fine, debugging works, etc.
Now, I have came across some libraries which works only on Linux. I have set up Ubuntu 16.4 64bit VPS on Digital Ocean, installed Python 3.5. In PyCharm I have set up SFTP connection to remote host. Code running works, debugging works, however, I am not able to bring display output (matplotlib plots,...) to local (Win10) machine. As I am not at all familiar with Linux GUI environments (X11?), after googling I have following questions:
1) Should anything be installed on remote Linux machine? (e.g. x11 client/server/smth?)
2) Should anything be installed on local Win machine? (e.g. Xming?)
3) Should anything be configured on remote Linx machine? (e.g. X11 forwarding)
4) Should anything be configured on local Win machine PyCharm?
5) There are X11 forwarding settings in Putty and some have suggested to use those but I am not sure, should Putty session run in paraller with PyCharm and can that be avoided.
Thanks a lot!
PS - I have installed Jupyter Notebook (and latest Jupyter Lab) on remote machine and it works excellent, however I am still prefering PyCharm as primary IDE with better code completion, debugger and other perks.
Ok, after some more googling I finally managed to get this process working, hope it helps somebody:
1) on remote host (VPS, Ubuntu 16.04) I had to install X11 server, which I did by:
sudo apt-get install xorg
sudo apt-get install openbox
2) On remote host I had to make sure that X11Forwarding is enabled in /etc/ssh/sshd_config
3) On local Win10 machine I had to install Xming server and launch it with default settings.
4) On local Win10 machine I had to configure Putty to use X11 forwarding (Connection-> SSH -> X11 Forwarding) with default settings and keep connection open while running PyCharm (it seems there is no option in PyCharm to enable x11 forwarding, so putty must be running in the background)
5) On remote machine I had to check Display number (echo $DISPLAY) - this can be different for everyone. For me it was localhost:10.0
6) In PyCharm Run configuration -> Environment variables I had to add DISPLAY=localhost:10.0
After all these steps and Putty+Xming running in backgroud, I was able to execute remote code and bring graphic back to my Windows 10 PC!
PS - process is actually slow, I have to wait around 10 seconds before image is brought back to me. I am not sure why or how to speed it up. Might be another question. (reducing chipher strength and enabling compression does not help. It seems some sort of initialization problem with x11 remote and local)
Mac user should install XQuartz instead of Xming.
And another important thing: if you install xquartz via homebrew, you should relogin your macos or reboot.
As the rackpas's answer saying.

Trying to access ipython notebook running on virtual machine

I would really appreciate some help here, basically I'm learning to use tensorflow, I've decided that the easiest way to go about this would be to install ubuntu on either VMware and/or Virtualbox and then access the ipython notebook (came with anaconda) through the browser on the host computer.
I have successfully installed both vmware and virtualbox, I downloaded a ubuntu image and also successfully installed anaconda on both, I get it to work without a problem on both VMs and even installed tensorflow.
Some research online on how to expose the ipython to the host machine suggested port forwarding or ssh tunneling, none of these have worked (very likely I'm doing it wrong). Can someone please help? think of me as a newbie.
Generally you must edit the jupyter configuration file to allow network access to the notebook server. See this link: http://jupyter-notebook.readthedocs.org/en/latest/public_server.html for details. (Even if it is not a "public" server, you still intend to access the notebook server living in the VM from the host machine via a network connection...)
Here is a quotation from the linked documentation that indicates by default, you can only access the notebook via the localhost.
By default, a notebook server runs locally at 127.0.0.1:8888 and is accessible only from localhost. You may access the notebook server from the browser using http://127.0.0.1:8888.

Categories