如何在Heroku cedar栈上用Rails安装Python模块
我们有一个在Heroku Cedar平台上运行的Rails应用程序,我们需要一个外部的Python模块,叫做'pyPdf'。可惜的是,这个模块并不是预装的Python模块之一。
请问有没有办法在Cedar平台上安装Python模块?我试着在应用的根目录下添加一个requirements.txt文件,但似乎没有效果。可能是因为Heroku在看到我们的Gemfile后就忽略了这个文件。
任何帮助都非常感谢。
1 个回答
1
你是在问这个模块是否是你想从Rails应用中访问的吗?如果是的话,你可以在一个叫做“dyno”的地方使用bash命令来下载和编译一个库(如果需要编译的话),然后把生成的文件放到你的应用代码里(比如放在/app/bin这个地方)。这样你就可以在代码中引用这个二进制文件了。
要在dyno上访问bash,你可以这样做:
heroku run bash --app your_app_name
上面的例子是这样的:
http://theprogrammingbutler.com/blog/archives/2011/07/28/running-pdftotext-on-heroku/
需要注意的是,你不能在dyno上安装任何东西,因为dyno的状态是随机变化的,你永远不知道它是什么状态。另外,当你退出bash的时候,这个dyno就会被关闭,所以不要留下任何东西在上面——它们会消失的。