有人知道如何在 Heroku 上安装 PyICU 吗?
到目前为止,这是我尝试过的:
- 创建了一个 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++ 程序员,找不到问题所在。有什么想法吗?
最佳答案
在正确回答问题之前,这是一个可行的解决方法。
如上所示创建应用程序(使用 heroku-buildpack-apt 安装 libicu52 和 libicu-dev)。
上传并输入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/