# Installing additional Python Packages

The Python Package Manager helps you installing additional packages that enhance Python. It determines the exact MacOS version and Python version you have and uses that information to download a database that has packages that are test and tried on that combination. In other words: if something is in your Package Manager window but does not work you are free to blame the database maintainer.

PackageManager then checks which of the packages you have installed and which ones not. This should also work when you have installed packages outside of PackageManager. You can select packages and install them, and PackageManager will work out the requirements and install these too.

Often PackageManager will list a package in two flavors: binary and source. Binary should always work, source will only work if you have installed the Apple Developer Tools. PackageManager will warn you about this, and also about other external dependencies.

PackageManager is available as a separate application and also as a function of the IDE, through the `File->Package Manager` menu entry.

## Troubleshooting

If package manager fails to open the database first check that you are connected to the internet. If you are connected then the problem could be that there is no database (yet?) for your version of Mac OS X. You may be able to find an alternative database that works for your system at http://www.python.org/packman. In the standalone Package Manager you can then open such an alternative database with the `File->Open URL...` command, but you should realize that you are now on untested ground.

Another potential problem source is that you are behind a firewall. This version of PackageManager uses the Unix method of setting a firewall: you need to set the environment variable `http_proxy` to `"http://proxyhost:port"`. See Apple Technical Q&A QA1067 for instructions.