Django webapplication 加载原生 TensorFlow 运行时失败。在 Heroku

Posted

技术标签:

【中文标题】Django webapplication 加载原生 TensorFlow 运行时失败。在 Heroku【英文标题】:Django webapplication Failed to load the native TensorFlow runtime. in Heroku 【发布时间】:2018-03-25 14:27:46 【问题描述】:

我尝试使用 Tensorflow 在 Heroku 中部署我的 AI 应用程序。我收到类似Failed to load the native Tensor Flow runtime 的错误。

提前致谢。

【问题讨论】:

【参考方案1】:

根据堆栈跟踪存在 ImportError: PyUnicodeUCS4_FromString

当您安装了多个版本的 Python 时会发生这种情况,您可能使用与编译模块时使用的解释器不同的解释器运行编译模块。

可以使用 UCS2 或 UCS4 的内部 Unicode 表示来构建 Python。

Heroku 上新创建的 Python 应用程序默认使用 Python 3.6.2 运行时。

您可以指定任意版本的 Python 来运行您的 应用。阅读文档python-runtimes heroku devcenter

【讨论】:

不仅如此。它不是不同的 Python 版本,但通常是由针对 Python 2.7 版本构建 Python 包的二进制文件引起的,该版本在安装时定义的 Unicode 字符集宽度与目标 Python 2.7 使用的不同。您可以在blog.dscpl.com.au/2015/06/… 的“Unicode 字符集”部分看到对该问题的讨论 奇怪的是,由于 UCS4 通常用于 Linux,这表明正在使用的 Python 2.7 安装是为 UCS2 配置的。如果 Heroku 发布的是 UCS2 编译的 Python,这与 Linux 发行版的典型做法背道而驰。假设 PyPi 上的二进制 Linux ***都是 UCS4,如果有的话会导致很多问题。 @GrahamDumpleton 您可以编辑我的答案并添加这些信息。可能会有帮助。 我已经尝试了上面的东西,但没有希望,仍然得到同样的错误。

以上是关于Django webapplication 加载原生 TensorFlow 运行时失败。在 Heroku的主要内容,如果未能解决你的问题,请参考以下文章

django——面试题(仍在更新中)

原Django总结

原Django数据Model层总结

原Django问题总结

找不到路径“\\\WebApplication1\bin\WebApplication1.dll”的一部分。

原centos安装django