04: Installing Python Packages
- Be able to install libraries from pypi using
- Be able to install libraries requiring C++ compilers using
- Understand that machines require precision in commands
- Be able to locate a proxy in a corporate setting
- This will become a table of contents (this text will be scraped).
Run the following
python -c "import pyfolio"
we will see how to fix this issue
pip is the default
python package manager. It is to
homebrew is to Mac OS X.
Install a new
python -m pip install PACKAGE
python -m pip install pyfolio --proxy https://path.to.my.proxy:1234 -IU
Here we introduce three very useful flags when in a corporate environment. Almost all corporations will have proxies. You need to specify the proxy to hit the internet programmatically.
To see other flags type
python -m pip install -h
anaconda is what we installed
python with. This is a more sophisticated python package manager.
Some libraries like
scipy require advanced C++ libraries (LAPACK / BLAS) in the case of
scipy. These can be extremely difficult to install on Windows machines in particular (last time installing LAPACK/BLAS from scratch took me 2 days reading documentation plus 8 hours of compilation!)
conda comes with prebuilt versions and compilers which mean you get scipy in under a minute
conda install scipy
Downsides are that not all libraries are supported by
conda and there is less help on Stackoverflow for it.
Exercise 4.1: Supplying arguments to a program
This exercise is to help you get used to the idea of self help in coding.
Try and figure out what the
-IU means and notice that you can stack single letter flags on a single
-. The combination of
-IU is usually only used when an installation is broken or doing something weird and won’t work.
Exercise 4.2: Debugging bad command
I can’t really tell you the aim of this exercise without giving away the answer :)
Why does this not work?
python - m pip -h
Hint It shouldn’t just take you to the
python console. It should show you the Help for
Exercise 4.3: Understanding importance of
This exercise aims to educate you at how your machine works under the hood. How does your machine know how to execute programs in
Program Files or other obscure locations? This should make that clear.
Recall that the first command must be an executable program. Why does
$ pip -h work?
Hint On Windows powershell type
$ $env:PATH or on Mac OS X type
$ echo $PATH.
You can use
ls to display files that match patterns, for example
use this on the
/bin directory for anaconda.
Exercise 4.4: Corporate Proxies
This exercise is really more of an example to make a point that most people in corporate environments think IT have blocked them from using
python - genuinely some of the smartest quants I know have also thought this. When in fact it’s nothing of the sort. Instead it’s just a symptom of being behind a firewall.
If you are on a corporate network find your proxy.
**NB: If you are working in a bank (e.g. Nomura) please check internally what the correct proxy is to use - doing the below is NOT the correct thing to do if there is a specific PyPi server internally (Nomura employees see confluence page on this)
This proxy is hardcoded in your browser e.g. Google Chrome / IE and is how it hits the internet. The example above shows how to
pip install using a proxy.