ImportError: сбой загрузки DLL в виртуальном питоне, вызванном Java - PullRequest
0 голосов
/ 22 октября 2019

Я создал виртуальную среду Python с именем 'env1' и установил пакет'asticsearch 'в ее среде. Это было нормально с вызовом ниже команды в командной строке окна.

// In env1 environment
(env1)C:\> python
Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import elasticsearch // works fine
>>>

Это также нормально с вызовом вне среды env1.

C:\>C:/Users/user/Anaconda3/envs/env1/python C:/test.py

«importasticsearch» находится в файле test.py.

Проблема в том, что я пытаюсь выполнить команду второго метода в Java, как показано ниже,

String[] cmd = new String[] { "C:/Users/user/Anaconda3/envs/env1/python", "C:/test.py"};
Process process = new ProcessBuilder(cmd).start();

Я получил сообщение об ошибке.

Traceback (most recent call last):
  File "C:/test.py", line 1, in <module>
    import elasticsearch
  File "C:\Users\user\Anaconda3\envs\env1\lib\site-packages\elasticsearch\__init__.py", line 24, in <module>
    from .client import Elasticsearch
  File "C:\Users\user\Anaconda3\envs\env1\lib\site-packages\elasticsearch\client\__init__.py", line 4, in <module>
    from ..transport import Transport
  File "C:\Users\user\Anaconda3\envs\env1\lib\site-packages\elasticsearch\transport.py", line 5, in <module>
    from .connection import Urllib3HttpConnection
  File "C:\Users\user\Anaconda3\envs\env1\lib\site-packages\elasticsearch\connection\__init__.py", line 3, in <module>
    from .http_urllib3 import Urllib3HttpConnection, create_ssl_context
  File "C:\Users\user\Anaconda3\envs\env1\lib\site-packages\elasticsearch\connection\http_urllib3.py", line 2, in <module>
    import ssl
  File "C:\Users\user\Anaconda3\envs\env1\lib\ssl.py", line 98, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed

Другие пакеты (например, запросы) были импортированы хорошо, но только тот, кто знает, почему?

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