python - 在 Heroku 上安装 PyICU

标签 python c++ heroku pyicu

有人知道如何在 Heroku 上安装 PyICU 吗?

到目前为止,这是我尝试过的:

  1. 创建了一个 heroku-buildpack-multi 应用程序。

在 .buildpacks 中

https://github.com/ddollar/heroku-buildpack-apt
https://github.com/heroku/heroku-buildpack-python.git

在应用文件中

libicu52
libicu-dev

然后heroku运行bash

CPATH=$CPATH/app/.apt/usr/include/x86_64-linux-gnu
pip install PyICU

并且安装正常。

我需要一种方法在应用程序的上传阶段(推送)执行此操作。

我试过:

pip install --global-option=build_ext --global-option="-I/app/.apt/usr/lib/x86_64-linux-gnu" PyICU

并在我的主目录中创建一个 .pydistutils.cfg 文件作为

[build_ext]
include_dirs=/app/.apt/usr/include/x86_64-linux-gnu

在这两种情况下,GCC 都找不到头文件,但我可以看到

-I/app/.apt/usr/lib/x86_64-linux-gnu

在命令行上标记。

用过

`gcc -print-prog-name=cc1plus` -v

找出CPATH=$CPATH/app/.apt/usr/include/x86_64-linux-gnu前后搜索路径的区别

之前:

#include <...> search starts here:
/app/.apt/usr/include
.
/usr/include/c++/4.8
/usr/include/x86_64-linux-gnu/c++/4.8
/usr/include/c++/4.8/backward
/usr/lib/gcc/x86_64-linux-gnu/4.8/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
/usr/include
End of search list.

之后:

#include <...> search starts here:
/app/.apt/usr/include
/app/.apt/usr/include/x86_64-linux-gnu
/usr/include/c++/4.8
/usr/include/x86_64-linux-gnu/c++/4.8
/usr/include/c++/4.8/backward
/usr/lib/gcc/x86_64-linux-gnu/4.8/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
/usr/include
End of search list.

但我不是 C++ 程序员,找不到问题所在。有什么想法吗?

最佳答案

在正确回答问题之前,这是一个可行的解决方法。

  1. 如上所示创建应用程序(使用 heroku-buildpack-apt 安装 libicu52 和 libicu-dev)。

  2. 上传并输入heroku run bash

    CPATH=$CPATH/app/.apt/usr/include/x86_64-linux-gnu

    pip 安装轮

    pip wheel PyICU

这将在/app/wheelhouse 中创建一个 wheel(.whl 文件)。

下载文件,将其保存在项目中的某个位置,然后通过将其名称放入 requirements.txt 来安装它

关于python - 在 Heroku 上安装 PyICU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31975668/

相关文章:

c++ - 如何获取所有可用的事件日志名称?

ruby-on-rails - Rails 3.2.8,heroku:未初始化常量 Less::Engine

ruby-on-rails - rails 和 Heroku : PG db fails to create database

heroku - 如何暂时停止 Heroku 服务器上的事件以防止被计费

python - 错误: Must specify a primary resource (JAR or Python file) - Spark submit Python app

python - 如何在 python 中获取交替值数组?

c++ - Boost 中的索引矩阵

python - 如何使用python删除重复的文本 block

python - 为 Python 包添加虚拟命名空间

c++ - 我应该在 C++ 的派生类中继承嵌套类吗?