【问题标题】:Heroku not picking up updated django-bouncer packageHeroku 没有获取更新的 django-bouncer 包
【发布时间】:2014-05-10 05:19:01
【问题描述】:

我有一个旧版本的 django-bouncer,它需要 hashcompat,现在已弃用。由于我收到错误告诉我这一点,我做了pip uninstall django-bouncer,然后使用pip install https://github.com/shelfworthy/django-bouncer/archive/master.tar.gz 安装了为Django 1.6 升级的版本(它使用hashlib 而不是hashcompat)(我还将它重新添加到我的requirements.txt 文件中)。

在本地,这工作正常。但是,当我推送到 Heroku 时,我仍然收到错误“没有名为 hashcompat 的模块”。

我尝试了git push heroku master --force,但这并没有解决问题。然后我通过执行heroku repo:reset -a <myappname> 重置应用程序,然后执行新的 git push heroku master。不幸的是,我的 Heroku 应用程序仍然出现错误。

如何让 Heroku 升级 django-bouncer?

【问题讨论】:

  • 您可以发布您的requirements.txt 文件吗?

标签: django heroku


【解决方案1】:

你应该这样做:

  • 首先,在您的笔记本电脑上本地安装 django-bouncer 的最新版本(您可以通过运行 pip install -U django-bouncer 来完成此操作。
  • 接下来,通过运行:pip freeze | grep django-bouncer 找出您笔记本电脑上的最新版本。您应该会看到类似以下内容:django-bouncer==x.x.x
  • 最后,编辑项目的requirements.txt 文件并添加django-bouncer=x.x.x,然后将此更改推送到Heroku。这将强制 Heroku 检测需要哪个 特定 版本的 django-bouncer,并为您安装它。

希望有帮助!

【讨论】:

    【解决方案2】:

    您可能与 Heroku 的包缓存发生冲突;它看到 django-bouncer 已经安装,并且不需要再次安装它。但是,你也不能卸载它。

    我记得有一个小技巧可以解决这个问题:如果您更改所使用的 Python 版本,Heroku 将清除其包缓存。因此,如果您使用的是 2.7.6,请编辑您的 runtime.txt 以将其更改为 python-3.4.0。如果您已经在使用 3.x 分支,请执行相反的操作。您的应用程序实际上是否可以在您将其更改为的版本上运行并不重要——部署一次,然后将其更改回来。那应该彻底清除你的包缓存,然后你就可以开始了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 2019-06-21
      • 2020-09-08
      • 1970-01-01
      • 2022-11-30
      • 2014-05-01
      • 1970-01-01
      相关资源
      最近更新 更多