Good luck on your Python journey, whoever you are, and wherever in the world you may be! Its gonna be a challenging learning curve - BUT THERE ARE TWO T. Install and uninstall jupyter. Install jupyter. Pip install jupyter. Jupyter notebook. Uninstall jupyter. Pip install pip-autoremove pip-autoremove jupyter -y. Step 5: If you've installed Python but had trouble installing Jupyter, then go to your Terminal and type pip3 install jupyter. If that doesn't work, then head here and follow the instructions. Now to fix the Jupyter kernel issue! At this point, Python and Jupyter should be installed. You want to stop your kernel from repeatedly dying.
Before we start with how to install pip for Python on macOS, let’s first go through the basic introduction to Python. Python is a widely-used general-purpose, high-level programming language. Python is a programming language that lets you work quickly and integrate systems more efficiently. In this video we will see how to install jupyterlab, JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data.
You've probably heard a lot about the MacBook that contains the new Apple M1 chip. Quick summary: It's fast. Like, really fast. You, a data scientist or related tech professional, may have bought one.
Disclaimer: We'll attempt to keep this updated as best we can. These instructions are up to date as of November 30, 2020.
Your goal: Run a Jupyter notebook.
Either you're opening a notebook right now and your kernel instantly dies, or you haven't been able to get a Jupyter notebook operational yet. That's why we're here! In this blog, we'll walk through how to get Jupyter functional on your M1 computer -- starting with the download step and ending with a fully operational Jupyter notebook. (We'll assume you don't know if you have Jupyter on your computer yet! If you know with certainty that you have Jupyter downloaded, you can skip down here.)
Check if Python & Jupyter are already installed.
Step 1: Open up your Terminal by holding Command and hitting Space, which should bring up your Spotlight Search.Then, type
Terminaland hit Return.
Step 2:In your Terminal, type
jupyter notebook and hit Return.
- If your Terminal looks like the image directly below and a Jupyter interface opens in your browser like the the second image below, then Jupyter is installed. You're almost done. (It's OK if you get a kernel error, we'll figure that out later!) Skip to step 6.
- If, instead, your Terminal says
command not found: jupyterthen you need to see if Python is even installed before you can install Jupyter. Move to step 3.
Step 3: Let's check if Python has been installed. In the terminal, type
python3 and hit Return.
- If you see something similar
Python 3.X.Y, with the
>>>at the bottom, then great! That means Python 3 is installed. Go ahead and type
quit(). Jump ahead to step 5.
- If you get a
command not found: python3error, this means that you need to install Python. New Mac operating systems should have it already installed, so if you're finding an error, make sure that there isn't a typo somewhere. Move to step 4.
Step 4: You can install Python by going to XCode Command Line Tools. You'll need to login with your Apple ID and follow the instructions. Note that the normal Anaconda download won't work here, as the M1 computer isn't 64-bit. Once you're done, head back up to Step 3.
Step 5: If you've installed Python but had trouble installing Jupyter, then go to your Terminal and type
pip3 install jupyter. If that doesn't work, then head here and follow the instructions.
Now to fix the Jupyter kernel issue!
At this point, Python and Jupyter should be installed. You want to stop your kernel from repeatedly dying.
Step 6: In your Terminal, type
jupyter notebook and hit Return. Once you do, then click 'New' (on the right-hand side) and open up a Python 3 notebook.
- If you're able to run commands in your notebook – great! The tutorial is over. Skip to the bottom for a note about TensorFlow (if TensorFlow is what you care about) or feel free to check out some of our other posts, mostly about computer vision, here.
Step 7: Thanks to this link and user burakozdamarpublicizing George Hotz' YouTube video, we learned a workaround that will stop your Jupyter notebook kernel from... well, stopping.
You will need to use the Terminal and/or Finder to find a filepath in your system that ends with
ipykernel/eventloops.py. (On my system, it is
lib/python3.8/site-packages/ipykernel/eventloops.py, but yours may vary slightly. The important thing is that you find the
eventloops.py file.) You will make one change to this file.
- Open Terminal.
nano filepath/ipykernel/eventloops.pywhere filepath should be the specific filepath that takes you to that specific
ipykernelfolder. Hit Enter. You should see the following:
- Use your arrow keys to navigate to
def _use_appnope(), which is the first function toward the bottom of the screenshot above. The
returnline is what we are going to edit.
- In that
returnline, use your arrow keys to navigate all the way to the right-hand side of that line. After
V('10.9'), you are going to add:
and platform.mac_ver() != 'arm64'
The full line should look like this when you are done:
- Once you have made that edit and are sure you haven't created a typo, then hold Control and hit x to exit.
- It will ask you to save. Press y.Then pressReturn.
I recognize: this process is a very 'do as I say and don't ask any questions' process. If you want to know more, George Hotz excellently describes the debugging process in his video; you can jump to around where he makes the change (47 minutes, 30 seconds) here. Note that George also edits the docstring (the text between the '' triple quotation marks '') to better reflect what the function is doing – checking for Apple Silicon.
Step 8: If you've followed the above steps, you should be good to go! I usually quit the Terminal (hold Command and press Q) because I think that, sometimes, updates won't immediately take effect without restarting the Terminal. Make sure that it works by returning to step 6 and writing commands in your Jupyter notebook.
You should now be set up to go!
Thanks for following along! I hope this is helpful. Let us know if you spot any mistakes or needed updates (use the email button on the left side of the screen) – I want to keep this as helpful as possible for people, and new technology tends to change very quickly.
Bonus: Want to use TensorFlow?
If your goal is to install TensorFlow, it isn't officially supported yet on the M1. However, you can create a virtual environment following the instructions here. Notice that while there are workarounds for certain TensorFlow features, other features like
object_detection are not yet supported. If you learn of workarounds, let us know by emailing us!
macOS Catalina doesn’t ship with Python 3, only 2. But you can still get 3 from Apple, updated regularly through system’s official update methods. You don’t need to get the awful Anaconda on you Mac to play with Python.
Python 3 is shipped by Xcode Command Line Tools. To get it installed (without the heavy Xcode GUI), type this in your terminal:
This way, every time Apple releases an update, you’ll get it.
Install Jupyter In Miniconda
Settings window will pop so wait 5 minutes for the installation to finish.
If you already have complete Xcode installed, this step was unnecessary (you already had Python 3 installed) and you can continue to the next section of the tutorial.
Clean Old Python Modules
In case you already have Python installed under your user and modules downloaded with pip, remove it:
Install Python Modules
Now that you get a useful Python 3 installation, use pip3 to install Python modules that you’ll need. Don’t forget to use –user to get things installed on your home folder so you won’t pollute your overall system. For my personal use, I need the complete machine learning, data wrangling and Jupyter suite:
But you might need other things as Django or other sqlalchemy drivers. Set yourself at home and install them with pip3.
For modules that require compilation and special library, say crypto, do it like this:
Use Correct Python 3 Binary
For some reason, Apple installs many different Python 3 binaries in different places of the system. The one that gets installed on /usr/bin/python3 has problems loading some libraries and instrumentation with install_name_tool would be required. So lets just use the binary that works better:
Run Jupyter Lab on your Mac
Commands installed by pip3 will be available in the ~/Library/Python/3.7/bin/ folder, so just add it to your PATH:
Install Jupyter Macports
Now I can simply type jupyter-lab anywhere in the terminal or command line to make it fire my browser and get a Jupyter environment.
More about Xcode Command Line Tools
Install Jupiter In Macbook
Xcode Command Line Tools will get you a full hand of other useful developer tools, such as git, subversion, GCC and LLVM compilers and linkers, make, m4 and a complete Python 3 distribution. You can see most of its installation on /Library/Developer/CommandLineTools folder.
For production and high end processing I’ll still use Python on Linux with my preferred distribution’s default packages (no Anaconda). But this method of getting Python on macOS is fastest and cleanest to get you going on your own data scientist laptop without a VM nor a container.