Как запустить сервер с кодом Python? - PullRequest
0 голосов
/ 01 апреля 2019

Я использую Stanford Core NLP Server. Я хотел бы запустить его из файла Python.

Для запуска из командной строки Я использую:

cd C:\ProgramData\Anaconda3\stanford-corenlp-full-2018-10-05
java -mx1g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -tiemout 15000

Я пытался запустить его из файла Python , содержащего этот код:

import subprocess
subprocess.call([r'C:\Users\maell\PycharmProjects\Preprocessing\launch_NLP.bat'])

с launch_NLP.bat, содержащим:

cd C:\ProgramData\Anaconda3\stanford-corenlp-full-2018-10-05
java -mx1g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -tiemout 15000

Вывод выглядит так:

C:\Users\maell\PycharmProjects\Pre-processing>cd                     
C:\ProgramData\Anaconda3\stanford-corenlp-full-2018-10-05 

C:\ProgramData\Anaconda3\stanford-corenlp-full-2018-10-05>java -mx1g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -tiemout 15000 
[main] INFO CoreNLP - --- StanfordCoreNLPServer#main() called ---
[main] INFO CoreNLP - setting default constituency parser
[main] INFO CoreNLP - warning: cannot find edu/stanford/nlp/models/srparser/englishSR.ser.gz
[main] INFO CoreNLP - using: edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz instead
[main] INFO CoreNLP - to use shift reduce parser download English models jar from:
[main] INFO CoreNLP - http://stanfordnlp.github.io/CoreNLP/download.html
[main] INFO CoreNLP -     Threads: 12
[main] INFO CoreNLP - Starting server...
java.net.BindException: Address already in use: bind
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Unknown Source)
    at sun.nio.ch.Net.bind(Unknown Source)
    at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
    at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
    at sun.net.httpserver.ServerImpl.<init>(Unknown Source)
    at sun.net.httpserver.HttpServerImpl.<init>(Unknown Source)
    at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(Unknown Source)
    at com.sun.net.httpserver.HttpServer.create(Unknown Source)
    at edu.stanford.nlp.pipeline.StanfordCoreNLPServer.run(StanfordCoreNLPServer.java:1427)
    at edu.stanford.nlp.pipeline.StanfordCoreNLPServer.main(StanfordCoreNLPServer.java:1523)
[Thread-0] INFO CoreNLP - CoreNLP Server is shutting down.

Как я могу сделать так, чтобы мой сервер работал и не выключался после того, как линия прошла?

Ответы [ 2 ]

1 голос
/ 01 апреля 2019

java.net.BindException: адрес уже используется: bind

Он говорит, что порт уже используется, попробуйте использовать другой порт в launch_NLP.bat, например 9001.

1 голос
/ 01 апреля 2019

Похоже на более простую ошибку:

java.net.BindException: Address already in use: bind

Либо завершите процесс, запущенный на порту 9000, либо запустите на другом порту, и он должен работать в следующий раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...