Skip to main content
 首页 » 编程设计

python之在 Heroku 上的 Django/Python 应用程序中使用 Node 模块

2024年08月14日33jpfss

我有一个相当经典的 Python/Django 应用部署到 Heroku。

有一个我想用的pip包,django-mjml它本身依赖于名为 mjml 的 Node.js 模块.

我的问题是如何将两者结合起来?执行 npm init 和 npm install mjml 在我的根文件夹中创建了一个 node_modules 目录,还有文件:package.json 和 package-lock.json。我想这不是我真正想要的?

不确定如何从这里开始,如有任何指示,我们将不胜感激!

请您参考如下方法:

我没用过那个库,但你可能需要 use multiple buildpacks :

  1. 将您的主要构建包设置为 heroku/python:

    heroku buildpacks:set heroku/python 
    
  2. 添加 heroku/nodejs 构建包:

    heroku buildpacks:add --index 1 heroku/nodejs 
    
  3. 确认 Node.js buildpack 将首先运行,Python buildpack 将第二运行

    heroku buildpacks 
    

确保你有

  • requirements.txt 文件(如果您使用的是 pip)或 Pipfile 和 Pipfile.lock(如果您使用的是 Pipenv)为您的 Python 依赖项 promise ,和
  • package.json 文件和 package-lock.json(如果您使用的是 npm)或 yarn。 lock(如果你使用的是 Yarn)为 mjml 依赖项提交。

您在问题中提到的 package.json 和 package-lock.json 应该足以满足 Node.js 依赖项,但必须提交它们,并且您需要在推送之前设置构建包。