#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) Примечание: возможно, вам потребуется перезапустить ядро, чтобы использовать обновленные пакеты. но все равно увидел ошибку