Отображение ошибок Canopy и Mac

Я установил пакет Canopy от Enthought. Все было хорошо, но теперь, когда я только что взял новую версию, случилось так, что для некоторых ошибок кодирования я не могу визуализировать отчет об ошибке, вместо этого появляется просто большое окно «отчет об ошибках», которое останавливает программа и не дает мне понять, что я сделал неправильно. Я уверен, что это всего лишь ошибка кода (например, неправильное имя переменной или подобное), потому что иногда мне удавалось найти их и запустить программу. Это проблема, с которой кто-то еще столкнулся? Есть ли решение? Пример кода, который не работает:

import numpy as np
import matplotlib.pyplot as plt
x = [1.,2.,3.,4.,5.,6.,7.,8.,9.]
y = [2.,3.,4.,.5,.6,7.,8.,9.,10.]

z = x*y

print z

Отчет предоставлен Canopy: https://drive.google.com/folderview?id=0B8B9d2LsyXlccEZfM3BOQTBFVm8&usp=sharing

Tnx много!


person user3094864    schedule 23.04.2014    source источник
comment
Можете ли вы опубликовать текст ошибки или скриншот?   -  person    schedule 23.04.2014
comment
Я добавил еще немного информации. p.s. Я знаю, что в моем файле есть явная ошибка, но дело в том, что я не могу получить отчет об ошибке, и программа просто вылетает, выдавая окно сообщения об ошибке. Спасибо!   -  person user3094864    schedule 23.04.2014


Ответы (1)


Краткий ответ: это ошибка в Canopy 1.3, которая исправлена ​​в Canopy 1.4, которая будет выпущена в ближайшие несколько дней.

Более длинный ответ: трассировка ошибки python, вызванная ошибкой в ​​​​вашем коде, содержит по крайней мере один символ юникода, и Canopy ломается на этом символе.

Одним из источников этого символа Юникода было то, что имя вашей учетной записи Enthought содержало букву ò. Я изменил это на простое o. Пожалуйста, выйдите из Canopy и войдите снова. Это, по крайней мере, удалит те ошибки юникода, которые появлялись, когда Canopy пытался сообщить об ошибках юникода! :( . Однако я не уверен, что он удалит всплывающие окна первого порядка. Если нет, то проблема, вероятно, связана с одним из двух источников:

а) символы юникода в вашей программе (хотя в вашем образце нет неудачной программы)

б) символы Юникода в некотором пути или имени файла, который вы используете (возможно, %pwd, где вы запускаете программу?)

person Jonathan March    schedule 23.04.2014
comment
Большое спасибо! Вы также правильно догадались о моем пути. Большое спасибо! О... Я читал, что вы являетесь разработчиком в Enthought. Что ж, я воспользуюсь этим шансом, чтобы поблагодарить вас за вашу работу. Так много моей дипломной работы можно было сделать благодаря продуктам Enthought, и я очень счастлив, что могу использовать все их ресурсы для своей настоящей и будущей работы. Хорошего дня! - person user3094864; 23.04.2014