import pkg_resourceswould simply active the correct package and everything would just work.
pkg_resources.require('SQLAlchemy==0.3.11')
Not so.
In order to use multiple versions of a package, you must install it with the --multi-version option. Eg, these commands:
easy_install --multi-version SQLAlchemy==0.3.11will let you use pkg_resources to activate different versions of the SQLAlchemy package. Without the --multi-version argument, pkg_resources.require will only perform a dependency check, rather than check and activate the required version.
easy_install --multi-version SQLAlchemy==0.4.2