{"id":1116,"date":"2013-08-19T23:43:18","date_gmt":"2013-08-19T23:43:18","guid":{"rendered":"http:\/\/blog.filipesaraiva.info\/?p=1116"},"modified":"2013-12-26T14:52:33","modified_gmt":"2013-12-26T14:52:33","slug":"cantor-palavras-chave-dinamicas-no-python-backend","status":"publish","type":"post","link":"https:\/\/filipe.saraiva.tec.br\/blog\/?p=1116","title":{"rendered":"Cantor &#8211; palavras-chave din\u00e2micas no python backend"},"content":{"rendered":"<p style=\"text-align: justify;\">No <a href=\"http:\/\/blog.filipesaraiva.info\/?p=1092\" target=\"_blank\">post anterior<\/a>, eu mencionei sobre palavras-chave din\u00e2micas no python backend. A ideia \u00e9 que, ap\u00f3s importar um m\u00f3dulo python na \u00e1rea de trabalho do Cantor, fun\u00e7\u00f5es, palavras-chave, vari\u00e1veis e mais deste m\u00f3dulo s\u00e3o carredados no Cantor e disponibilizados para o destaque de sintaxe e tab complete.<\/p>\n<p style=\"text-align: justify;\">Esta funcionalidade j\u00e1 est\u00e1 implementada e voc\u00ea pode test\u00e1-la compilando o Cantor do branch <a href=\"https:\/\/projects.kde.org\/projects\/kde\/kdeedu\/cantor\/repository\/show?rev=python-backend\" target=\"_blank\">python-backend<\/a>.<\/p>\n<p style=\"text-align: justify;\">Mas vamos antes ver mais algumas informa\u00e7\u00f5es sobre esta funcionalidade.<\/p>\n<p style=\"text-align: justify;\">Existem v\u00e1rias maneiras de importar um m\u00f3dulo python no console python. Voc\u00ea pode usar &#8220;import modulename&#8221;, &#8220;import modulename as modulevariable&#8221;, &#8220;from modulename import *&#8221;, &#8220;from modulename import function_1, function_2, &#8230;&#8221;, e mais. Cada maneira de fazer um import provoca diferentes consequ\u00eancias na experi\u00eancia do usu\u00e1rio.<\/p>\n<p style=\"text-align: justify;\">As quatro maneiras de realizar um import mencionadas anteriormente s\u00e3o suportadas pelo python backend. Veremos agora como esses diferentes imports se comportam e como o python backend reage a cada um deles.<\/p>\n<p style=\"text-align: justify;\"><strong>import modulename<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong><\/strong>A maneira mais b\u00e1sica e simples de fazer um import. Ap\u00f3s este comando, uma vari\u00e1vel chamada &#8220;modulename&#8221; \u00e9 definida e as fun\u00e7\u00f5es e mais palavras-chave do m\u00f3dulo s\u00e3o disponibilizadas atrav\u00e9s de &#8220;modulename.keyword&#8221;.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1104\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1104\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_import_modulename\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename-1024x575.png\" class=\"aligncenter size-large wp-image-1104\" alt=\"python_import_modulename\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><em>Tab Complete<\/em><em><\/em><\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename_highlighting.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1107\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1107\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_highlighting.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_import_modulename_highlighting\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_highlighting-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_highlighting-1024x575.png\" class=\"aligncenter size-large wp-image-1107\" alt=\"python_import_modulename_highlighting\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename_highlighting-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Destaque de Sintaxe<\/em><\/p>\n<p style=\"text-align: justify;\"><strong>import modulename as modulevariable<\/strong><\/p>\n<p style=\"text-align: justify;\">Nesta forma o usu\u00e1rio define uma vari\u00e1vel &#8220;modulevariable&#8221; para referenciar o &#8220;modulename&#8221;, e &#8220;modulename&#8221; n\u00e3o \u00e9 definido. Portanto, voc\u00ea pode acessar as fun\u00e7\u00f5es e mais palavras-chave do &#8220;modulename&#8221; usando &#8220;modulevariable.keyword&#8221;.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1105\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1105\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_import_modulename_as_modulevariable\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable-1024x575.png\" class=\"aligncenter size-large wp-image-1105\" alt=\"python_import_modulename_as_modulevariable\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Tab Complete<\/em><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable_highlithing.png\"> <img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1106\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1106\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable_highlithing.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_import_modulename_as_modulevariable_highlithing\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable_highlithing-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable_highlithing-1024x575.png\" class=\"aligncenter size-large wp-image-1106\" alt=\"python_import_modulename_as_modulevariable_highlithing\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_modulename_as_modulevariable_highlithing-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em><em>Destaque de Sintaxe<\/em><\/em><\/p>\n<p style=\"text-align: justify;\"><strong>from modulename import *<\/strong><\/p>\n<p style=\"text-align: justify;\">Nesta forma o usu\u00e1rio importa todas as fun\u00e7\u00f5es e palavras-chave do &#8220;modulename&#8221;, mas nenhuma vari\u00e1vel \u00e9 definida para acessar o &#8220;modulename&#8221;. As fun\u00e7\u00f5es do m\u00f3dulo s\u00e3o acessadas diretamente.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1098\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1098\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_from_modulename_import_all\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all-1024x575.png\" class=\"aligncenter size-large wp-image-1098\" alt=\"python_from_modulename_import_all\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Tab Complete<\/em><\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all_highlithing.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1099\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1099\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all_highlithing.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_from_modulename_import_all_highlithing\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all_highlithing-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all_highlithing-1024x575.png\" class=\"aligncenter size-large wp-image-1099\" alt=\"python_from_modulename_import_all_highlithing\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_all_highlithing-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em><em>Destaque de Sintaxe<\/em><\/em><\/p>\n<p style=\"text-align: justify;\"><strong>from modulename import function_1, function_2, &#8230;<\/strong><\/p>\n<p style=\"text-align: justify;\">O usu\u00e1rio importa apenas fun\u00e7\u00f5es espec\u00edficas do &#8220;modulename&#8221;, e n\u00e3o todas as fun\u00e7\u00f5es.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1100\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1100\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_from_modulename_import_specific\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific-1024x575.png\" class=\"aligncenter size-large wp-image-1100\" alt=\"python_from_modulename_import_specific\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Tab Complete<\/em><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific_highlithing.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1101\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1101\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific_highlithing.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_from_modulename_import_specific_highlithing\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific_highlithing-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific_highlithing-1024x575.png\" class=\"aligncenter size-large wp-image-1101\" alt=\"python_from_modulename_import_specific_highlithing\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_from_modulename_import_specific_highlithing-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><em><\/em><\/p>\n<p style=\"text-align: center;\"><em><em>Destaque de Sintaxe<\/em><\/em><\/p>\n<p style=\"text-align: justify;\"><strong>Cantor plugin<\/strong><\/p>\n<p style=\"text-align: justify;\">Eu tamb\u00e9m desenvolvi um plugin para importar m\u00f3dulos no Cantor. Este plugin abre uma janela de di\u00e1logo para o usu\u00e1rio entrar com o m\u00f3dulo e, ap\u00f3s apertar o Ok, Cantor executar\u00e1 um &#8220;import modulename&#8221; e as palavras-chave estar\u00e3o dispon\u00edveis. O di\u00e1logo \u00e9 acessado via o menu &#8220;Packaging&#8221;, na barra de menu.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_cantor_plugin.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1102\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1102\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_cantor_plugin.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_import_cantor_plugin\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_cantor_plugin-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_cantor_plugin-1024x575.png\" class=\"aligncenter size-large wp-image-1102\" alt=\"python_import_cantor_plugin\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_cantor_plugin-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><em><\/em><\/p>\n<p style=\"text-align: center;\"><em>Plugin de import no Cantor<br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\"><strong>Identificando erros<\/strong><\/p>\n<p style=\"text-align: justify;\">O backend pode identificar v\u00e1rios tipos de erros durante o import.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_errors.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1103\" data-permalink=\"https:\/\/filipe.saraiva.tec.br\/blog\/?attachment_id=1103\" data-orig-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_errors.png\" data-orig-size=\"1366,768\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"python_import_errors\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_errors-300x168.png\" data-large-file=\"https:\/\/filipe.saraiva.tec.br\/blog\/wp-content\/uploads\/2013\/08\/python_import_errors-1024x575.png\" class=\"aligncenter size-large wp-image-1103\" alt=\"python_import_errors\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2013\/08\/python_import_errors-1024x575.png\" width=\"698\" height=\"375\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Identificando erros no import<br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\"><strong>Conclus\u00f5es<\/strong><\/p>\n<p style=\"text-align: justify;\">A funcionalidade est\u00e1 desenvolvida e madura para uso, entretanto, ela n\u00e3o suporta todas a maneiras de realizar um import em python. Entretanto, imagino que estas cinco maneiras de realizar o import representam as formas mais comuns utilizadas por desenvolvedores python com foco em softwares cient\u00edficos.<\/p>\n<p style=\"text-align: justify;\">O importante \u00e9 que esta funcionalidade permite ao python backend suportar os mais variados tipos de m\u00f3dulos python, e n\u00e3o somente scipy, numpy, and matplotlib, como eu <a href=\"http:\/\/blog.filipesaraiva.info\/?p=1081\" target=\"_blank\">havia proposto<\/a> no in\u00edcio desse projeto.<\/p>\n<p style=\"text-align: justify;\">Agora, deixe-me saber como voc\u00ea importa m\u00f3dulos no python. Eu desenvolverei o suporte para novas formas de import em futuras vers\u00f5es do backend.<\/p>\n<p style=\"text-align: justify;\">Por enquanto, espere por mais novidades deste projeto logo mais!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No post anterior, eu mencionei sobre palavras-chave din\u00e2micas no python backend. A ideia \u00e9 que, ap\u00f3s importar um m\u00f3dulo python na \u00e1rea de trabalho do Cantor, fun\u00e7\u00f5es, palavras-chave, vari\u00e1veis e mais deste m\u00f3dulo s\u00e3o carredados no Cantor e disponibilizados para o destaque de sintaxe e tab complete. Esta funcionalidade j\u00e1 est\u00e1 implementada e voc\u00ea pode&hellip;&nbsp;<a href=\"https:\/\/filipe.saraiva.tec.br\/blog\/?p=1116\" class=\"\" rel=\"bookmark\">Continue a ler &raquo;<span class=\"screen-reader-text\">Cantor &#8211; palavras-chave din\u00e2micas no python backend<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[58,48,11,47,101,26,42,41,105,49,108,80],"class_list":["post-1116","post","type-post","status-publish","format-standard","hentry","category-software-livre","tag-cantor","tag-comunidade","tag-desenvolvimento","tag-gsoc","tag-gsoc2013-python-backend","tag-kde","tag-planet-mageia-portugues","tag-planeta-psl-pi","tag-planeta-python-brasil","tag-planetkde-portugues","tag-python","tag-python-backend"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1p2Jh-i0","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1116"}],"version-history":[{"count":1,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1116\/revisions"}],"predecessor-version":[{"id":1117,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1116\/revisions\/1117"}],"wp:attachment":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}