Installing JupyterLab on a Mac

Today I ran into a minor challenge getting JupyterLab installed on my Mac. I’m running Mac OS Catalina so your mileage may vary. The following are few items I ran into and the steps I followed to get JupyterLab setup and running. I’m sure I am way behind the curve of most InfoSec and IT types who do this kind of stuff in their sleep. But just in case there is someone else out there who does not know how to get started with JupyterLab on their Mac, I present the following:

  • The version of Python baked into Mac OS is old and not supported by pip (I think it’s Python 2.7x).
  • The error message I got when I ran

pip install jupyterlab

  • was the following:

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020.

  • So installed Python 3.8 from https://python.org – no problems there.
  • I then ran the following to make sure pip was installed in this instance of Python:

sudo -H python3 -m ensurepip

and the following was returned:

Looking in links: /tmp/tmp4m5ghja

Requirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (41.2.0)

Requirement already satisfied: pip in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (19.2.3)

  • So I knew that I had a functioning pip in my Python 3 environment – so far so good.
  • Last step was to use pip to do the install:

python3 -m pip install jupyterlab

  • I saw a long list of modules/apps downloaded and installed thanks to pip magic:

Collecting jupyterlab

Downloading https://files.pythonhosted.org/packages/35/9a/6e81535ed42ad01ec2a5e8f9e0419108f60fab36e48dc1168fa5e0576a81/jupyterlab-1.2.4-py2.py3-none-any.whl (6.4MB)

     |████████████████████████████████| 6.4MB 1.0MB/s 

Collecting tornado!=6.0.0,!=6.0.1,!=6.0.2 (from jupyterlab)

  Downloading https://files.pythonhosted.org/packages/30/78/2d2823598496127b21423baffaa186b668f73cd91887fcef78b6eade136b/tornado-6.0.3.tar.gz (482kB)

     |████████████████████████████████| 491kB 53.0MB/s 

(much more followed…)

  • After the install was completed I just ran the following to start up JupyterLab:

jupyter lab

  • My default web browser (Safari) popped up with the JupyterLab environment ready to go (http://localhost:8888/lab). Success!

Day 1 with Surface Pro X

First lesson learned – do not install Malwarebytes on your Surface Pro X.

After setting up the new Surface pretty much the way I like it, I decided to get “clever” and install Malwarebytes as a supplemental anti-malware control. Big mistake.

Now I am not saying that there is anything wrong with Malwarebytes. I think it is a fine supplemental control that I routinely recommend to family and friends. But there is a big caveat now – never attempt to install on an ARM-based Win 10 device like this the Surface Pro X.

I think the culprit was the anti-rootkit component that Malwarebytes attempted to install – at least that was the last item referenced before I rebooted and never came back up again. The device was borked big time after I rebooted. I ended up having to do the full Windows 10 reset and had many anxious moments as I watched the restore/install progress percentages crawl by. Good grief.

But in the end, the device recovered completely albeit wiped clean. All my configurations, installations and downloaded Netflix videos were lost of course. Oh well, live and learn.

Perhaps by putting this out there on the web I can save someone from making the same mistake I made.

Never install Malwarebytes on a Surface Pro X – lesson learned.

Day 0 with Surface Pro X

Ok, I admit it – I am easily influenced. After only one day on Microsoft campus for a Customer Advisory Council, I broke down and purchased a Surface Pro X. Yes I have been hurt before by Windows on ARM by my beloved and very deficient Surface RT.  Surely, Microsoft would not let me down again right? Right.

So I broke down and purchased the baseline Surface Pro X device today at the Microsoft store on campus. Yes, I got a decent discount on the tablet. Yes, I got an even better discount on the keyboard and pen. But at the end of the day, it was the allure of a thin and light device capable of running full Office, PowerShell and Visual Studio Code with always on LTE connectivity that convinced me to buck up. Oh yeah, I also tested the performance of 4k YouTube video via MKBHD in the store – pretty sweet.

Will I ultimately regret this purchase? Perhaps. But perhaps not, if I limit my expectations to being able to run Office 365, Chromium Edge (Chredge), PowerShell and Python. I am fortunate enough to have other, bulkier and more powerful devices at my disposal for advanced computing needs. But when I am on the road, my application needs are limited and my demands are mostly around weight, connectivity and basic performance. I am hopeful that this Surface Pro X will tick all of those boxes.

Things I like so far are the very good keyboard with backlit keys – I am looking at you Apple “Smart” Keyboard – and the integrated pen.  Office 365 was pre-installed and I quickly added Edge Dev (Chromium) and some key extensions like 1Password, Ublock Origin and the OneNote Web Clipper.

My thoughts are that this will be my primary travel and commuting device. Instead of trying to make things work with an iPad Pro, my goal is to get full Windows performance and utility from this Surface Pro X. Only time will tell of course.