我制作了一个使用react/node/postgresql制作的web应用程序。在这个应用程序中,我使用了一个名为的js包,它允许我在js文件中运行python代码。这样我就可以使用python包了,它没有一个好的js替代方案。下面是js文件中和python代码的一个简单示例:
'use strict';
let assert = require('assert');
let pythonBridge = require('python-bridge');
let python = pythonBridge();
python.ex`import math`;
python`math.sqrt(9)`.then(x => assert.equal(x, 3));
let list = [3, 4, 2, 1];
python`sorted(${list})`.then(x => assert.deepEqual(x, list.sort()));
python.end();我用$ python3 -m venv root/server创建了一个venv,以便这个文件能够运行python包,这个包在我的机器上使用$ source server/venv/bin/activate (然后是$ yarn dev )在本地开发和运行时工作得很好。
我正在尝试将应用程序部署到Heroku,但是python代码没有运行。在检查日志时,我得到的错误与在本地运行我的应用程序时的错误相同,而没有激活venv。下面,'recipe_scrapers‘是导入刮板函数的python包,而' scraper’是我分配给函数的python变量。

如何部署到Heroku,以便python代码能够正常运行?
我的根目录中有包含所有python依赖项的requirements.txt和带有python-3.10.6的runtime.txt。我尝试将venv命令添加到Procfile中,但它没有工作(而且感觉很糟糕)。
我不熟悉python,所以如果我误解了venvs/app部署,请原谅。部署python应用程序与js应用程序与我所知道的是一样的,所以我不知道要更改什么才能使应用程序在Heroku上正常运行。
发布于 2022-09-01 15:59:20
我在探索我的Heroku设置时发现了这个问题。结果,我需要将python添加到Buildpacks设置中。现在我有了nodejs和python,并且在部署时安装了依赖项(python app detected... installing requirements with pip)。
tbh我以前不知道内置包,在研究这个问题时也没有碰到它们,但我很高兴这是一个简单的解决办法。
https://stackoverflow.com/questions/73561308
复制相似问题