Обновлено 2013-09-30: в текущем способе очистки virtualenv указывается другая версия среды выполнения Python в runtime.txt
, как указано на Github и в Справочник разработчика Heroku .
Имейте в виду, что Heroku в настоящее время "только одобряет и поддерживает использование Python 2.7.4 и 3.3.2", поэтому, если ваше приложение не поддерживает оба Python 2.7.4 и 3.3.2, вы можете протестировать его во время выполнения, которое вы Вы захотите переключиться на (в настоящее время доступно на http://envy-versions.s3.amazonaws.com/$PYTHON_VERSION.tar.bz2
, хотя переключение между 2.7.4 и 2.7.3 в большинстве случаев не должно быть проблемой).
Спасибо @Jesse за актуальный ответ и комментаторам, которые сообщили мне об этой проблеме.
Был обновлен в ноябре 2012 года (с тех пор я не обновлял связанный сборочный пакет, мой запрос извлечения был закрыт, и функция CLEAN_VIRTUALENV была в какой-то момент отброшена официальным сборочным пакетом):
Как объяснил Дэвид, вы не можете удалить один пакет, но вы можете очистить и переустановить весь virtualenv. Используйте лабораторную функцию user-env-compile с опцией CLEAN_VIRTUALENV для очистки virtualenv:
heroku labs:enable user-env-compile
heroku config:add CLEAN_VIRTUALENV=true
В настоящее время это не будет работать, потому что есть ошибка. Вам нужно будет использовать мой форк пакета сборки, пока этот не будет исправлен в восходящем направлении (запрос на извлечение закрыт):
heroku config:add BUILDPACK_URL=https://github.com/blaze33/heroku-buildpack-python.git
Теперь вставьте новый код, и вы заметите, что весь virtualenv переустанавливается.
Ответ Андрея больше не работает с 23 марта 2012 года. Коммит новый стиль virtualenv переместил виртуальный env из / app в /app/.heroku/venv, но ветвь очистки не была обновлена, чтобы наверстать упущенное так что вы в конечном итоге с добродетелью не находитесь в PYTHONHOME.
Чтобы избежать переустановки всего после каждого нажатия, отключите опцию:
heroku labs:disable user-env-compile
heroku config:remove CLEAN_VIRTUALENV BUILDPACK_URL