我已经在 elastic-beanstack 中部署了我的项目,我需要为其设置 python3、numpy 和 nltk 环境。
我们有一个包含 python3、numpy 和 nltk 的 python 代码,我们正在使用nodejs 子进程。在我的本地机器上它运行良好。
为了在 EB 上进行设置,我们在项目中启动了 EB cli,并通过 EB CLI 安装了 python3、numpy、nltk
sudo yum -y update
sudo yum -y install yum-utils
sudo yum -y groupinstall development
sudo yum install pip3
pip3 --version
--------> pip 19.0.2 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
sudo yum -y install python36u
sudo update-alternatives --config python
python
--------> Python 3.6.7
pip3 install nltk --user
pip3 install numpy --user
pip list
-->Package Version
nltk 3.4
numpy 1.16.1
pi 0.1.2
pip 19.0.2
setuptools 36.2.7
singledispatch 3.4.0.3
six 1.12.0
wheel 0.33.0
执行输出时,我们收到错误,因为未找到 nltk 和 numpy 包。
如何在我的 elastic-beanstalk 中设置 python3、numpy、nltk,请帮助我。
我是不是错过了什么,或者我完全走错了路。
我在做什么
在我的 Python 脚本中
import sys, json
from nltk import RegexpTokenizer
import pickle
import numpy as np
np.dot(v1, v2)
使用 Python 在我的 Express(Nodejs) 中
const { spawn } = require('child_process');
const ls = spawn('python', ['./scoring.py', JSON.stringify(qJSON)]);
ls.stdout.on('data', (data) => {
错误 stderr:回溯(最近一次调用最后一次):stderr:文件
“./scoring.py”,第 7 行 stderr:来自 nltk 导入 RegexpTokenizer
stderr:ImportErrorstderr::stderr:没有名为 nltkstderr 的模块:
子进程退出,代码为 1
使用 Python3 在我的 Express(Nodejs) 中
const { spawn } = require('child_process');
const ls = spawn('python3', ['./scoring.py', JSON.stringify(qJSON)]);
ls.stdout.on('data', (data) => {
错误:在 Process.ChildProcess._handle.onexit 处产生 python3 ENOENT
(internal/child_process.js:232:19)于 onErrorNT
(内部/child_process.js:407:16)位于 process._tickCallback
(internal/process/next_tick.js:63:19)在以下位置发出“错误”事件:在
Process.ChildProcess._handle.onexit(内部/child_process.js:238:12)
在 onErrorNT (internal/child_process.js:407:16)
process._tickCallback (内部/process/next_tick.js:63:19)
答案1
nltk
和包numpy
不附带任何可执行脚本。
要验证安装是否成功,请尝试加载 Python 中的库:
$ python
Python 3.6.8 (default, Feb 6 2019, 12:07:20)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> import numpy
>>>
如果这两个import
语句没有引发任何错误,则表示包安装成功,您可以在程序中使用这些模块。
希望有帮助:)