123*_*123 6 python dependencies heroku node.js
我有一个运行Node的Heroku应用程序,但我需要能够在此服务器上运行Python脚本.我正在尝试安装我的Python依赖项,但无法使其工作.
我已经将python和节点构建包添加到我的项目中,我创建了一个虚拟环境并成功安装了requirements.txt,但我仍然发现模块未找到错误.
如何在Heroku节点服务器上正确安装Python包?
Heroku表明我已经正确设置了两个buildpack:
heroku buildpacks --app <my app>
Run Code Online (Sandbox Code Playgroud)
输出:
1. heroku/nodejs
2. heroku/python
Run Code Online (Sandbox Code Playgroud)
如果我尝试安装requirements.txt:
$ pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
它说要求已经满足.我猜这是参考我当地的环境.
Requirement already satisfied (use --upgrade to upgrade): requests==2.7.0 in /Library/Python/2.7/site-packages (from -r requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4==4.5.3 in /Library/Python/2.7/site-packages (from -r requirements.txt (line 2))
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试运行我的Python脚本,我会得到一个无模块错误:
回溯(最近一次调用最后一次):文件"Webcrawler.py",第3行,来自urllib.request import urlopen ImportError:没有名为request的模块
小智 6
我已经解决了这个问题:
我手动将具有特定版本的库添加到文件中,在我的例子中如下:
requests==2.7.0
beautifulsoup4==4.5.3
Run Code Online (Sandbox Code Playgroud)我创建(如果没有)文件"runtime.txt"只有一行:我需要的python版本,在我的情况下:
python-2.7.14
Run Code Online (Sandbox Code Playgroud)我用两个命令创建了multibuildpacks:
heroku buildpacks:set heroku/python
heroku buildpacks:add --index 1 heroku/nodejs
Run Code Online (Sandbox Code Playgroud)最后,我继续使用git命令:
git add requirements.txt runtime.txt
git commit requirements.txt runtime.txt -m "requirements"
git push heroku master
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |