Я собираюсь принять противоположное направление ответа @ alan и не рекомендую вам даже распространять ваши 4 жестко запрограммированных окружения таким образом.
Если вы распространяете исходный код напрямую, то вам не следуетбыть в том числе встроенных зависимостей вообще.Создайте какой-нибудь setup.py для загрузки и установки зависимостей.Или рассмотрите возможность упаковки вашего приложения в автономный исполняемый файл
. Ваш пакет может содержать файлы установки для PIL локально, поэтому загрузка не потребуется, но они должны быть собраны самим конечным пользователем, чтобы соответствовать ихархитектура.Нет смысла пытаться заставить ваше приложение понять все это и указать на один из множества предварительно скомпилированных пакетов.
Вы также можете взглянуть на py2exe, py2app и pyinstaller, если хотите пойти по путисоздания самозапускаемых пакетов для разных систем, содержащих всю их среду.