импорт lightgbm вернул ненулевой статус выхода 2 - PullRequest
0 голосов
/ 22 декабря 2018

Я использую Windows 10. Сегодня я установил lightgbm через anaconda, используя

conda install -c conda-forge lightgbm

Однако, когда я попытался импортировать lightgbm (работает на Jupyter Notebook), я получилСледующее сообщение об ошибке:

---------------------------------------------------------------------------
CalledProcessError                        Traceback (most recent call last)
<ipython-input-2-5dacb4a27011> in <module>
----> 1 import lightgbm as lgb

D:\RI\0Teaching Materials\QTDM-II\P30 LGBM\lightgbm.py in <module>
     10 
     11 from subprocess import check_output
---> 12 print(check_output(["ls", "../input"]).decode("utf8"))
     13 
     14 # Any results you write to the current directory are saved as output.

~\Anaconda3\lib\subprocess.py in check_output(timeout, *popenargs, **kwargs)
    334 
    335     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
--> 336                **kwargs).stdout
    337 
    338 

~\Anaconda3\lib\subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
    416         if check and retcode:
    417             raise CalledProcessError(retcode, process.args,
--> 418                                      output=stdout, stderr=stderr)
    419     return CompletedProcess(process.args, retcode, stdout, stderr)
    420 

CalledProcessError:Command '['ls', '../input']' returned non-zero exit status 2.

Что мешает мне импортировать lightgbm?

Обновление: - Считая, что это проблема Windows, я установил Anaconda в Ubuntu (Oracle VB) ипопробовал импорт.К сожалению, такая же ошибка произошла и в этой среде.Что может быть за этим?

1 Ответ

0 голосов
/ 27 декабря 2018

Похоже, у вас есть D: \ RI \ 0Teaching Materials \ QTDM-II \ P30 LGBM \ в вашей PYTHONPATH, вы можете проверить его в блокноте:

import sys
print(sys.path)

или в командной строке

echo %PYTHONPATH%

Каталог будет находиться в пути Python, если вы запустите записную книжку в этом каталоге.Поскольку у вас есть этот каталог в пути python, при попытке импортировать модуль lightgbm, python находит файл lightgbm.py, а затем импортирует его, и в этом файле у вас есть код, который обрабатывает 'ls ../input' иу вас нет 'ls' в Windows, отсюда и ошибка.Вторая возможность состоит в том, что команда ls не может видеть ../input, потому что файл не существует.это не имеет значения, проблема в том, что оператор import находит файл lightgbm.py до того, как обнаружит модуль lightgbm, который вы установили с помощью conda и действительно хотите импортировать.(Хаки исправили бы переименование lightgbm.py в другое)

Исправьте PYTHONPATH, вы можете сбросить его следующим образом: https://superuser.com/questions/949560/how-do-i-set-system-environment-variables-in-windows-10

...