Code and more for the QUB Development Weeks event 'High Performance Python'
- Check if Anaconda is installed - this isn't essential in general for using Python, as there is other ways to set up and use Python, but to avoid runing into versioning problems between different Python / library distributions I'm standardising this course with conda environments.
This means you'll be installing the same version of Python as I'm using as I give this course, as well as the same versions of the same external packages that I use - in a temporary virtual environment that won't mess up any other Python installs you have.
To check if anaconda is installed properly, open a terminal (Windows - search Command Prompt or git-bash, MacOS - search terminal, linux - you know how)
In the terminal run "conda list". If you get a list of packages, or even anything other than "no command found" or similar - you're all good!
Close the terminal now.
-
If not already installed, download and install Anaconda
-
At this point I'll assume I've shown you how to download / clone this repository (or you already knew how and did it yourself). Open a terminal in this directory (where this repository is):
Windows - in file manager, navigate to this repo, right click anywhere and click 'command prompt here'
MacOS - in Finder, navigate to this repo, then (top left of screen) click 'Finder'->Services->'new Terminal at Folder'
Linux - cd to this repo
and run "conda create --name qubcourse --file conda_package_list.txt python=3.7.5", which will create a new virtual environment, with a specific version of Python, and will install the same versions of the same packages I had installed when I made this course.
This will take a while, so I'll probably have started going through the earlier parts of the course during these downloading and installing.
-
In your terminal, run "conda activate qubcourse". This tells it to use the virtual environment we made a minute ago. When we're done, we can run "conda deactivate" to go back to the way things were before.
-
In your terminal, still in this directory, run "jupyter notebook" - this should cause a webpage to open, with a list of what's in this directory. To start with, click on the 'PythonRefresher.ipynb' link.
That's us fully set up and started!
Note: In 2019 split into 'Python Refresher Course' (winter) and 'High Performance Python' (summer) due to length of additional content
Stable: Python Refresher
Unstable / Untidy: High Performance Sections (mostly tidy enough)
Commenting
Basic Data Types
Conditional Logic & Basic Loops
Comprehensions
Functions & Lambdas
Intro to OOP Python
Generators & Iterators
Handling Files
Numpy & Scipy
Pandas
Matplotlib
Scikit-Learn
Free External Resources (IDEs, Books, Library / Domain-Specific Tutorials, List of Useful Libraries)
Team Members
First Name | Last Name | 2018 | 2019 |
---|---|---|---|
Conor | Duffy | Y | N |
Silas | O'Toole | Y | N |
Luke | Roantree | Y | Y |
Special thanks to:
-
Dr. Garbriele De Chiara - for helping organise the event and booking the computer suites
-
Victoria Coulter - for obtaining funding, setting up the registration, and more
Interacting with computer via os and sys (2019 Updates touch on some)
Installing extra libraries
Machine learning libraries other than Sklearn
Multi-Threading
Parallel Processing (joblib and mpi4py)
Cython other than via Jupyter Notebook
Pythran
f2py