WinPython for DSP and ICT (AY2223S1)
This software package is provided by Guo, Jiangling for use in the courses of Digital Signal Processing and Principle of Information and Coding Theory (the academic year 2022-2023, semester 1). It will be referred to as ‘this package’ in the rest of this document.
Quick start
Follow the video tutorial 2-Quick start.mp4
to quickly set up WinPython on your computer.
If you only want to get ready for the class, you are done here.
If you want to learn more, the rest of this document provides details on this package and even some tips on DIY if you feel adventurous.
Details
On a recent Windows OS (e.g. Windows 10), the only required step may be running WPy32-38100-for-DSP+ICT-AY2223S1.exe
to extract WinPython. However, since many old systems are still around, this package tries to accommodate as much as possible.
WPy32-38100-for-DSP+ICT-AY2223S1.exe
The main WinPython program is 32 bits so it can be run even on 32 bits Windows. (By default, 64 bits Windows can run 32 bits programs, unless the OS is heavily modified.)
VC_redist.x86-2015_2022.exe
Provides some system files (Microsoft Visual C++ Redistributable 2015 to 2022) on which WinPython relies. Some versions of Windows may include these files already, such as 32 bits Windows 10. If you don’t know for sure, install it anyway.
One caveat, since it installs system files, you need the administrative privilege to run it. If you don’t, you are out of luck. Blame Microsoft for not allowing other software to include these files in their packages.
FirefoxPortable_104.0.1_English.paf.exe
This is a portable and up-to-date web browser. JupyterLab, an important Python tool we will use in class, requires a web browser that supports certain relatively new technologies, such as HTML5. Use this portable web browser if your default web browser does not work as expected with JupyterLab.
DIY
For whatever reason, if you want to do it yourself, here is some information to help to get started.
Base distribution
There are many ‘distributions’ of Python that you can choose from as the base, then add whatever Python packages you may need. Here are some recommendations.
-
Miniconda
Miniconda is the little brother of Anaconda, which (Anaconda) is the most popular distribution of Python and comes with many packages but at the cost of huge download size. Unlike Anaconda, Miniconda is small and comes with minimal tools for installing Python packages.- Pros: It is popular and many online resources are based on Miniconda/Anaconda. Also, it runs on many OSes besides Windows.
- Cons: It is NOT portable. This means you have to repeat the installation process (Miniconda, as well as all the Python packages) on every system you plan to use.
-
WinPython
This package is based on WinPython, more specifically, theWinpython32-3.8.10.0dot.exe
.- Pros: Portability. That is, (almost) everything is in the WinPython directory, together with all the Python packages you have installed. You can move/copy the WinPython directory to any other location (another directory, USB disk, etc.) and run it without re-installation.
- Cons: It is not as popular and it runs on Windows only.
Version numbers
Compatibility is crucial to a development environment. Many strange and hard-to-solve problems may simply be the result of mismatched versions. The following is a list of version numbers of the components in this package. Make sure you are installing the same versions, or I may not answer your programming problems at all!
- Python: 3.8.10
- Python packages
- numpy: 1.23.2
- scipy: 1.9.1
- matplotlib: 3.5.3
- jupyterlab: 3.4.6
32 or 64 bits
Go for 64 bits if possible. Most computers nowadays come with 64 bits OS as default. Most software is built for 64 bits systems, and many of them even drop 32 bits support.
For anyone unfortunate enough like me that you have to run on 32 bits OS, there is one critical tip:
- Installing jupyterlab (32 bits)
Installing JupyterLab (32 bits) using pip
may fail due to one dependent package pywinpty
not having 32 bits compiled binary. A quick solution is to manually download pywinpty-2.0.5-cp38-none-win32.whl
from Archived: Unofficial Windows Binaries for Python Extension Packages and install it with pip
before installing jupyterlab.
For example:
pip install pywinpty-2.0.5-cp38-none-win32.whl
pip install jupyterlab
Some sources indicate that installing jupyterlab (32 bits) in Miniconda/Anaconda with conda
does not have such problems, but I have not personally verified it.