在 Heroku 中找不到满足要求 tensorflow==1.0.0 的版本

Posted

技术标签:

【中文标题】在 Heroku 中找不到满足要求 tensorflow==1.0.0 的版本【英文标题】:Could not find a version that satisfies the requirement tensorflow==1.0.0 in Heroku 【发布时间】:2017-07-08 19:20:09 【问题描述】:

我正在使用 heroku 云平台部署一个 django 项目。我在 requirements.txt 文件中添加了依赖项。但是,当我推送到 heroku master 时,出现以下错误:

Collecting tensorflow==1.0.0 (from -r /tmp/build_bc8be989466414998410d3ef4c97a115/requirements.txt (line 17))
remote:          Could not find a version that satisfies the requirement tensorflow==1.0.0 (from -r /tmp/build_bc8be989466414998410d3ef4c97a115/requirements.txt (line 17)) (from versions: )
remote:        No matching distribution found for tensorflow==1.0.0 (from -r /tmp/build_bc8be989466414998410d3ef4c97a115/requirements.txt (line 17))
remote:  !     Push rejected, failed to compile Python app.
remote: 
remote:  !     Push failed
remote: Verifying deploy....
remote: 
remote: !   Push rejected to what-the-image.
remote: 

我正在使用 Django v 1.10 和 python 2.7。我哪里会出错?

【问题讨论】:

【参考方案1】:

您将能够使用 wheel 在 Heroku 上安装 Tensorflow。

只需将您的 requirements.txt 中的 tensorflow==1.0.0 行替换为 https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.0-cp27-none-linux_x86_64.whl

Wheels 和 eggs 是 Python 代码的打包格式。 Wheels 旨在取代旧的 egg 格式,并且通常更加通用,因为它们不需要可用的编译器(在部署到 Heroku、Microsoft 的 Azure 等 PaaS 时非常有用)。

关于***需要注意的一点是naming convention,它反映了它们打算使用的架构和 Python 版本。查找系统支持的车轮类型的快速方法是:

import pip
print(pip.pep425tags.get_supported())

【讨论】:

大富奇?你能解释一下这是怎么回事吗?另外,谢谢,它起作用了:-) 在答案中添加了信息。一定要喜欢一种可以将***与鸡蛋进行比较的语言:)

以上是关于在 Heroku 中找不到满足要求 tensorflow==1.0.0 的版本的主要内容,如果未能解决你的问题,请参考以下文章

在“app”heroku 中找不到属性“run”

Heroku:在 /app/config/storage.yml 中找不到 Active Storage 配置(RuntimeError)

部署 heroku 应用程序时在任何源中找不到 nokogiri-1.11.1

Rails:Webpacker 4.2 在 /app/public/packs/manifest.json heroku 中找不到应用程序

仅在发布版本中找不到适用于应用程序的有效“aps-environment”权利字符串

在 wsgi.py 的“django.py”中找不到引用“DjangoWhiteNoise”