У меня никогда не было такой настройки, я запустил ее локально, но понятия не имею, как мне это сделать, когда я разверну ее в ec2 server
У меня уже работает node app
вec2 server
, но недавно я добавил spaCy
в один из моих API.
Основная логика - вызов API, который запускает узел, и часть скрипта js использует spawn
для обработки файла proc.py
и выполнить некоторые вычисления с выходными данными.
Я попытался выполнить следующие настройки для установки на моем сервере, но, конечно, не удалось при вызове API
мое исходное приложение узла находится в /var/www/myApp
Я использовал sudo apt install virtualenv
, затем внутри своего /var/www/myApp
я выполнил команду virtualenv venv
, которая создает виртуальную среду ...
Я сделал source venv/bin/activate
, чтобы войти в virtual environment
Затем я начал запускать команды для установки spacy
, упомянутые в spacy documentation
https://github.com/explosion/spaCy
, использовал эту команду для установки pip install -U spacy
и python -m spacy download en
ЗатемЯ запустил python -m spacy validate
, чтобы увидеть, установлен ли Spacy, который я получил
Installed models (spaCy v2.0.11)
/var/www/myApp/venv/local/lib/python2.7/site-packages/spacy
TYPE NAME MODEL VERSION
package en-core-web-sm en_core_web_sm 2.0.0 ✔
link en en_core_web_sm 2.0.0 ✔
, который я считаю, чтоЭто означает, что установка прошла успешно.
Но после этого я не уверен, что мне следует делать, чтобы продолжить.
Я попытался запустить API, но получил это как сообщение об ошибке "err": "Traceback (most recent call last):\n"
Я полагаю, что модуль spacy
не вызывается, поэтому я получаю эту ошибку, но я не уверен, что мне следует сделать, чтобы это работало.
Был бы очень признателен за любойпомогите, заранее спасибо за любые советы.
РЕДАКТИРОВАТЬ:
мой proc.py
код ниже
if __name__ == '__main__':
import sys
import json
import spacy
nlp = spacy.load('en')
text = sys.argv[1]
doc = nlp(text)
all_noun_tokens = [ token.lemma_ for token in doc
if (token.pos_ == 'PROPN'
or token.pos_ == 'NOUN'
or token.tag_ == 'NN'
or token.tag_ == 'NNP') ]
print(json.dumps(all_noun_tokens))
PS Мне интересно, если есть какой-либо конфигурации, которая мне нужнасделать, чтобы мое приложение нашло, где находится virtuanenv
, чтобы оно могло обнаружить модуль spacy
?