Не удается прочитать файл из пакета libpgm

#python #bayesian-networks

#python #байесовские сети

Вопрос:

Я установил libpgm для своего ноутбука jupyter с помощью

pip устанавливает libpgm

а затем выполнил несколько импортов следующим образом

 import sys
import json
import libpgm
from libpgm.nodedata import NodeData
from libpgm.graphskeleton import GraphSkeleton
from libpgm.hybayesiannetwork import HyBayesianNetwork
 

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

 Traceback (most recent call last):

  File "C:Users19413condalibsite-packagesIPythoncoreinteractiveshell.py", line 3343, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-7-80536a116c64>", line 4, in <module>
    from libpgm.nodedata import NodeData

  File "C:Users19413condalibsite-packageslibpgmnodedata.py", line 91
    print "Error: NodeData did not recognize input file format."
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Error: NodeData did not recognize input file format.")?
 

Кто-нибудь знает, что вызвало ошибку?

Большое спасибо за вашу помощь

Ответ №1:

Ну, в последней строке вашего отчета об ошибке точно указано, что вызвало ошибку:

 Missing parentheses in call to 'print'. Did you mean print("Error: NodeData did not recognize input file format.")?
 

В отличие от Python 2, Python 3 требует, чтобы все операторы печати заключались в круглые скобки. Я не знаком с libpgm библиотекой, но мне кажется, что это было исправлено пять лет назад. Убедитесь, что вы используете новейшую версию этой библиотеки или вместо этого запустите свой код на Python 2.

Комментарии:

1. Спасибо, Каспар. Я обновил установку с помощью этого требования pip install -U libpgm, которое уже обновлено: libpgm в c:users19413condalibsite-packages (1.3) Примечание: возможно, вам потребуется перезапустить ядро, чтобы использовать обновленные пакеты. но все равно увидел ошибку