Я развернул свой проект в elastic-beanstack, мне нужно настроить для него среду python3, numpy и nltk.
У нас есть код python с python3, numpy и nltk, мы взаимодействуем с кодом python с nodejs Дочерний процесс. На моей локальной машине он работает хорошо.
Для настройки на EB мы инициировали EB cli в нашем проекте и установили python3, numpy, nltk через EB CLI.
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 не загружаются.
Как настроить python3, numpy, nltk в моем elastic-beanstalk, пожалуйста, помогите мне в этом.
Я скучаю или я полностью ошибаюсь.
Что я делаю
В моем скрипте Python
import sys, json
from nltk import RegexpTokenizer
import pickle
import numpy as np
np.dot(v1, v2)
С Python В моем экспрессе (Nodejs)
const { spawn } = require('child_process');
const ls = spawn('python', ['./scoring.py', JSON.stringify(qJSON)]);
ls.stdout.on('data', (data) => {
ОШИБКА stderr: Traceback (последний вызов последним): stderr: File
"./scoring.py", строка 7 stderr: from nltk import RegexpTokenizer
stderr: ImportErrorstderr:: stderr: Нет модуля с именем nltkstderr:
дочерний процесс завершился с кодом 1
С Python3 В моем экспрессе (Nodejs)
const { spawn } = require('child_process');
const ls = spawn('python3', ['./scoring.py', JSON.stringify(qJSON)]);
ls.stdout.on('data', (data) => {
Ошибка: создать python3 ENOENT в Process.ChildProcess._handle.onexit
(внутренний / 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 (внутренний / child_process.js: 407: 16) в
process._tickCallback (внутренний / процесс / next_tick.js: 63:19)
В 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
операторы не вызывают ошибок, установка пакета прошла успешно, и вы можете использовать модули в своих программах.
Надеюсь, это поможет :)