# The hard way: compiling ROOT and Jupyter from scratch I repeat my {ref}`advice `: **Don't**. Obviously, it's possible to install these packages from scratch; I do it all the time. But it can take a while to learn how to do it. You'd learn a lot about UNIX, but you'll be learning neither ROOT nor physics. Don't expect me to break from teaching other students about ROOT to teach you about your C++ compiler and the location of your Python distribution in your directory hierarchy. Now that you have been warned, here are the places to start: - [Python](https://wiki.python.org/moin/BeginnersGuide/Download) (if it's not already installed on your system) - [ROOT](https://root.cern/install/) - [Jupyter](https://jupyter.readthedocs.io/en/latest/install.html) Please keep the following in mind: - These are *not* applications that you can double-click to automatically install. The process requires some knowledge of the command shell. - Read the installation documentation for each package. Use some thought and initiative. If you aren't familiar with UNIX shells before you started this process, you will be once you finish! - The [dockerfile](https://github.com/wgseligman/docker-jupyter-pyroot/blob/master/Dockerfile) I used to create the [wgseligman/jupyter-pyroot](https://github.com/wgseligman/docker-jupyter-pyroot) container may provide a clue for how to create your own installation. :::{figure-md} fixing_problems-fig :class: align-center xkcd fixing_problems by Randall Munroe :::