#python #matplotlib #tkinter #scipy
Вопрос:
итак, я нашел эту программу «BoxParti», созданную пользователем tpvasconcelos, и я думаю, что она может мне очень помочь в исследованиях. К сожалению, он использует некоторые пакеты, которые я никогда раньше не использовал, и довольно проблематично заставить его работать на меня. Я ничего не менял в коде, но он не хочет со мной работать. Проблема в основном в tkinter, и я не очень хорошо с ней знаком. Я никогда раньше не использовал графический интерфейс, так что для меня это довольно сложно. На данный момент я хочу только заставить программу работать и проверить, действительно ли она может быть мне полезна. Я пытался заставить это работать самостоятельно, но, к сожалению, мне это не удалось. Это довольно сложно для меня, так как я давно не использовал python на самом деле никогда ни с чем не использовал графический интерфейс. Ниже я вставляю ссылку для загрузки кода. Я запускаю его на Python 3.8 или 2.7, в обеих версиях я получаю одни и те же ошибки. Под ссылкой я вставляю журналы ошибок. Я был бы очень признателен за любой совет, который мог бы подтолкнуть меня в правильном направлении, потому что мне кажется, что я очень заблудился
https://github.com/TPVasconcelos/BoxParti
Traceback (most recent call last):
File "BoxParti.py", line 1493, in <module>
app = BoxParti()
File "BoxParti.py", line 53, in __init__
frame = F(container, self)
File "BoxParti.py", line 151, in __init__
self.make_plot(frame)
File "BoxParti.py", line 176, in make_plot
self.canvas.show()
AttributeError: 'FigureCanvasTkAgg' object has no attribute 'show'
Комментарии:
1. возможно, это более старая версия tkinter, которая использовалась для библиотеки, потому что в противном случае это довольно сложно исправить, как кажется (возможно, можно изменить исходный код), также при тестировании с python 2.7 вы использовали
Tkinter
илиtkinter
?2. Я использовал Tkinter, если я правильно помню, в противном случае это был неправильный импорт пакета.
Ответ №1:
Этот код может работать в ранних версиях Python, например python 3.5. Некоторые вещи были признаны устаревшими. Это означает, что вы должны найти правильные пакеты.
Например, если вы раскомментируете следующее, код будет выполняться на Python 3.8.
Раскомментируйте: #self.canvas.show()
в строках; 177, 610, 646, 692, 817, 1268, 1299, 1371
также раскомментируйте; self.canvas.get_tk_widget()#.grid(row=0, column=1)
, в строках 179, 819.
Но он не показывает 2D или 3D аниме. Это может быть связано с раскомментированием self.canvas.show()
.
В результате, если вы хотите запустить этот код, вам придется найти библиотеки, необходимые для более старых версий. Чего я не предлагаю.
Вместо этого BoxParti были расширены до mdsea, вы можете установить mdsea, который может работать лучше.
Комментарии:
1. О, вау, огромное спасибо, я раньше не видел эту программу mdsea. Я думаю, что это намного сложнее, но, возможно, я смогу сделать это полезным для себя. Также спасибо, что заметили, что я могу запустить программу, раскомментировав некоторые строки, раньше этого не замечал. Извините за любые проблемы 🙂