python – 如何从Heroku / Cedar的virtualenv中清除过时的pypi包?

我正在我的应用程序的src / lib中构建我自己的flask-oauth并将其添加到Web应用程序的路径:sys.path.insert(0,os.getcwd()’/ src / lib / flask-oauth’)我有这样做是因为pypi包不支持google要求的access_token_params.

flask-oauth目前没有出现在requirements.txt中,但它确实出现在过去.结果,它仍然在我的heroku应用程序的vitualenv,我无法摆脱它.我的应用程序在本地工作,但在heroku上它死了:

TypeError: __init__() got an unexpected keyword argument 'access_token_params'

我已经尝试在我的requirements.txt文件中列出最新的github版本的flask-oauth,如下所示:git git://github.com/mitsuhiko/flask-oauth.git,该软件包确实已安装.但是,应用程序仍然从/app/.heroku/venv/lib/python2.7/site-packages/flaskext/oauth.py加载过时的版本,应用程序仍然死亡.

我在我的requirements.txt中有这个:

-e git://github.com/mitsuhiko/flask-oauth.git@80167c44abc3df37e43a45474d19452065430464#egg=Flask_OAuth-dev

而正确的,最新的,github版本的flask-oauth现在可以在本地安装并运行.但我仍然无法让heroku在应用程序中确认或使用该软件包.它在/app/.heroku/venv/lib/python2.7/site-packages/flaskext/oauth.py中使用旧版本

我怎样才能清除这个过时包装的heroku的virtualenv?我怎样才能使用github版本而不是它的缓存包?

注意:我创建了一个名为mythin-dev的新应用程序,它会读取我的requirements.txt并从中安装正确版本的flask-oauth

-e git://github.com/mitsuhiko/flask-oauth.git@80167c44abc3df37e43a45474d19452065430464#egg=Flask_OAuth

所以似乎问题肯定是我的heroku virtualenv中的缓存包.帮助,我的应用程序将不会在heroku上运行,直到这个解决:(

最佳答案
安装此(https://github.com/lstoll/heroku-repo)插件并运行heroku repo:purge_cache -a appname.

转载注明原文:python – 如何从Heroku / Cedar的virtualenv中清除过时的pypi包? - 代码日志