Quais passos vão reproduzir o problema?
Qual é o resultado esperado?
Espero ver alguma saída no explorador de variáveis. Isso acontece no Spyder 3.1.2 Linux e no Windows.
Por favor, forneça quaisquer informações adicionais abaixo
Aqui está meu código, tentando implementar a eliminação Gaussiana:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 16 17:40:09 2017
<strong i="18">@author</strong>:
"""
import numpy as np
def f(x):
return 100*np.exp(-10*x)
def exact(x):
return 1.0-(1-np.exp(-10))*x-np.exp(-10*x)
# Hardcoded params for simplicity
#fileout = pyOutput
exponent = 4
#n = 4
for k in range(1, exponent):
# Weird thing we didn't understand
n = 10**k
# Append i to filename
fileout = 'pyOutputSimple'
fileout += str(k)
# descretization resolution
h = 1/n
hh = h*h
''''''
d = np.zeros(n+1)
b = np.zeros(n+1)
x = np.zeros(n+1)
solution = np.zeros(n+1)
d[0] = 2
d[n] = 2
solution[0] = 0
solution[n] = 0
for i in range(1,n):
d[i] = (i+1)/i
for i in range(0,n+1):
x[i] = i*h
b[i] = hh*f(i*h)
# FW sub
for i in range(2,n):
b[i] = b[i] + b[i-1]/d[i-1]
# Backward sub
solution[n-1] = b[n-1]/d[n-1]
for i in range((n-2),0):
solution[i] = (b[i]+solution[i+1])/d[i]
with open(fileout, 'w') as fout:
fout.write('x:\t\tApprox:\t\tExact:\t\tRelative Error:\n')
for j in range(0,n):
RelativeError = np.abs((exact(x[j])-solution[j])/exact(x[j]))
fout.writelines('{0:.8f}'.format(x[j]) + '\t')
fout.writelines('{0:.8f}'.format(solution[j]) + '\t')
fout.writelines('{0:.8f}'.format(exact(x[j])) + '\t')
fout.writelines('{0:.8f}'.format(np.log10(RelativeError)) + '\n')
fout.closed
print('File: ' + str(k) + '/' + str(exponent) + ' written.')
numpy é usado
pyflakes >=0.6.0 : 1.5.0 (OK)
pep8 >=0.6 : 1.7.0 (OK)
pygments >=2.0 : 2.1.3 (OK)
qtconsole >=4.2.0: 4.2.1 (OK)
nbconvert >=4.0 : 4.2.0 (OK)
pandas >=0.13.1 : 0.19.2 (OK)
numpy >=1.7 : 1.11.3 (OK)
sphinx >=0.6.6 : 1.5.1 (OK)
rope >=0.9.4 : 0.9.4-1 (OK)
jedi >=0.8.1 : 0.9.0 (OK)
psutil >=0.3 : 5.0.1 (OK)
matplotlib >=1.0 : 2.0.0 (OK)
sympy >=0.7.3 : 1.0 (OK)
pylint >=0.25 : 1.6.4 (OK)
Isso acontece apenas no Python 3.6?
Pelo que eu posso dizer, sim. Não tive esses problemas com o Python 3.5 e o Spyder 2.3.8 em minha outra máquina com Windows 7.
Atualize para o Spyder 3.1.3 e tente novamente. Nossos testes estão funcionando perfeitamente no Python 3.6 e detectam se os objetos são exibidos no Explorador de variáveis.
Acho que também estou tendo esse problema e estou executando o 3.1.3 no Ubuntu. Relatórios ipdb ...
ipdb> sys.version_info
sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)
Consegui ver a função do Variable Explorer neste arquivo simples ...
substitutions = dict(planet="World")
print("Hello {planet}".format(**substitutions))
... e visualizou corretamente o substitutions
dict
No entanto, ao executar interativamente contra este arquivo ...
https://github.com/cefn/avatap/blob/6ad61cb3b8e198acae1caa6f187726fea4834b30/python/test.py
... nada é mostrado na janela do Variable Explorer, mesmo desde a primeira linha da primeira importação local.
No entanto, o painel ipdb interativo é realmente capaz de inspecionar variáveis ao executar esse arquivo, por exemplo, em um ponto de interrupção do Spyder na linha 28 em test.py, eu posso fazer ...
ipdb> !locals().keys()
dict_keys(['BoxPassage', '___', 'Engine', 'ticks_ms', 'loadStory', '_oh', '_iii', 'ChoicePassage', '_ih', 'storyUid', '__package__', 'ConfirmationPassage', '_sh', '_', 'uidInitTypes', '__name__', 'UidRegistry', '__file__', '_i1', 'boxUids', 'getStoryContext', 'Card', 'UidItem', '_ii', 'In', '__builtins__', '_i2', '_dh', 'Container', 'Uid', '_i', '__', 'ConditionalPassage', '__spec__', 'passageUids', 'Box', '__doc__', '__builtin__', 'Story', 'Out', 'AnonymousContainer', 'PagePassage', 'exit', 'story', 'Item', '__loader__', '_i3', 'MockEngine', 'Passage', 'unittest', 'quit', 'get_ipython'])
... enquanto nada é mostrado no Variable Explorer.
Tive a certeza de remover todos os pacotes do ubuntu spyder e spyder3 via apt-get purge
, em seguida, instalei via pip como ...
sudo -H pip3 install --update spyder
Para ter certeza absoluta de que não havia nada de estranho acontecendo, corri ...
pip3 freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 sudo -H pip3 install --upgrade
... para atualizar todos os pacotes pip3 para o mais recente, mas ainda assim o Variável Explorer do Spyder não está cooperando.
Ok, se este problema for sobre depuração, então isso é um bug e foi relatado no problema # 3711.
Ele será corrigido no Spyder 3.2.
Ops, acho que olhando mais detalhadamente, talvez o OP não estivesse executando o código por meio do depurador como eu supus, então posso ter sequestrado esse bug por engano. Eu não tinha percebido que havia um visualizador de variáveis indicando o estado dos símbolos de 'módulo' no final de uma execução, então presumi que o comportamento descrito estava vinculado à depuração. Foi mal. Talvez o OP possa esclarecer.
@ ccordoba12 existe uma solicitação de pull onde eu possa contribuir com testes para esse recurso em relação à correção esperada para pousar no spyder 3.2? Eu tentei mesclar seu branch debugger-improvements
no spyder: siga em https://github.com/cefn/spyder/pull/1, mas isso não muda o comportamento do Variable Explorer no cenário de depuração descrito ( embora o IDE pareça estável e funcional).
Talvez seja um item da lista de desejos 3.2 para resolvê-lo e o código para resolvê-lo ainda não foi escrito? Avise-me se houver algo em que o teste ao vivo seja útil.
Há uma opção no Explorador de variáveis chamada Exclude unsupported types
que, se desmarcada, mostrará todos os tipos de variáveis nela.
Sim @cefn, este problema estava ocorrendo quando não estava no depurador. As variáveis devem ser atualizadas no final, mas não o são, se é que aparecem. O depurador parece funcionar na maioria das vezes. Posso fazer com que eles apareçam se executar o depurador, mas depois eles não serão atualizados com as execuções subsequentes. Esses são tipos suportados, como tipos nativos de Python (string, int, lista, etc). Obrigado por investigar isso
Só queria voltar e dizer que as variáveis agora estão aparecendo bem no Spyder 3.1.3 no Linux ao usar a seguinte configuração em um arquivo yml de ambiente virtual conda:
https://github.com/sayboltm/tmp/blob/master/spyder_working.yml
Tenho um palpite de que a versão do QT que estava executando antes pode estar relacionada ao problema. Tive muitos problemas com QT para python com outros projetos que só recentemente resolvi.
Editar: link do github em vez de colar o arquivo yml inteiro
Deixa pra lá. Claro que depois de muitos testes, assim que eu postar isso, ele não mostrará as variáveis após uma execução no explorador de variáveis. Bem, aí está minha configuração. Espero que vocês consigam consertar isso, porque é sem dúvida meu recurso favorito e o motivo pelo qual uso o Spyder.
Tive o mesmo problema assim que atualizei do spyder 3.1.3 para o spyder 3.1.4. Observe que em Ferramentas / Preferências / Explorador de variáveis / Autorefresh há uma caixa de seleção que pode precisar ser marcada (a minha estava desligada após a atualização)
Eu examinei essa caixa e ela estava desmarcada, mas para minha consternação, verificá-la e reiniciar o spyder ainda não corrigiu esse problema aparentemente intermitente. Isso é bastante intrigante.
Isso foi corrigido? Eu executo meu código com sucesso, mas não consigo visualizar nenhuma das variáveis no explorador de variáveis depois. Por que é isso? Spyder 3.2.0 com Python 3.5.3.
enfrentando o mesmo problema aqui, estou arruinando a versão do Spyder: 3.1.4
Não é possível visualizar os tipos de dados !!
e sou novo aqui !!
me ajude a resolver isso. :)
Obrigado @vishalnadagiri. Atualmente, matrizes de objetos (com dtype=object
, ou seja, com dados não numéricos) não são suportadas. Já existe um PR em andamento (# 5260) para adicionar esta funcionalidade. Ele estará disponível em uma versão futura.
Enquanto isso:
X
se mantê-los como DataFrame
(apenas remova .values
de sua linha 10)array
se remover os dados não numéricos (a primeira coluna no seu caso)Obrigado @Prikers pela ajuda, acabei de ver o DataFrame removendo .values
e funcionou bem e pode ver o DataFrame !!
Ainda vi esse problema ocorrer e, como resultado, executo o Spyder 2.3.8 quando realmente preciso contar com ele para atualizar e funcionar corretamente. O problema é que isso requer um matplotlib antigo, o que limita o que mais posso trabalhar.
Apenas por causa deste tópico, comecei a testar o Spyder 3.2.3 (mais recente suportado pelo conda a partir de agora) e vou descobrir que o explorador de variáveis parece estar funcionando. mas juro que tentei no Linux e no Windows com versões mais recentes e só às vezes funciona.
A pior parte é quando ele funciona primeiro, preenche com variáveis (então você acha que está funcionando), então para de funcionar para que os dados antigos permaneçam lá e você se pergunte por que suas variáveis não estão sendo atribuídas corretamente, etc., mas na verdade é o explorador de variáveis morrendo. Quando isso acontece, eu verifico digitando um tipo compatível conhecido (int, string) no console do iPython e vejo que ele não foi adicionado ao explorador de variáveis. Fico feliz em ver alguma atividade aqui, vou verificar novamente porque adoro o explorador de variáveis. Recurso favorito do spyder com certeza!
@Prikers Estamos ansiosos por isso! Adoro poder levar as pessoas do Matlab para o Python e o código aberto usando o Spyder como gateway!
@sayboltm se você puder ter um exemplo simples reproduzível, estarei disposto a investigar!
Eu tenho um problema semelhante com o Spyder 3.1.2 e o Python 3.6. Eu vejo minhas variáveis listadas no Variable Explorer. Mas se eu clicar duas vezes na matriz ou variável de matriz, não posso ver toda a matriz ou matriz inteira como costumava ser capaz com a versão 2. * do Sypder. Alguém pode me lançar algumas luzes sobre como contornar isso, por favor? Muito obrigado antecipadamente!
A mensagem de erro que recebi: 'O Spyder não conseguiu recuperar o valor desta variável do console', com a mensagem de erro adicional de 'A inspeção e configuração de valores durante a depuração em consoles IPython ainda não são suportados pelo Spyder'. No entanto, tenho quase certeza de que pude ver o conteúdo de todo o dataframe na versão 2. * do Spyder.
@JasperAustin você está tentando ver as variáveis enquanto executa o depurador?
O seu problema é semelhante a este ?
Sim, @Prikers , estou tentando ver os arrays no depurador
Seu problema foi corrigido no Spyder 3.2. Por favor atualize.
El 03/10/17 a las 15:34, JasperAustin escribió:
>
Sim, @Prikers https://github.com/prikers , estou tentando ver o
arrays no depurador-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/spyder-ide/spyder/issues/4154#issuecomment-333970000 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAWS7SsFdQRCZ039T-4G8PguiNdDVwpsks5sopppgaJpZM4MDpNC .
Obrigado, @ ccordoba12. Sou novo em Python. Como posso atualizar para o Spyder 3.2 a partir do 3.1.2?
Se você estiver usando o Anaconda, você precisa executar em um terminal do sistema (cmd.exe, Terminal.app ou xterm)
conda update spyder
Se não, por favor, corra
pip install -U spyder
Obrigado novamente @ ccordoba12 . Eu uso o Anaconda e tentei seu primeiro comando duas vezes, mas ainda obtive o seguinte erro:
C: \ Users \ U608025> conda update spyder
Buscando metadados do pacote ...
CondaHTTPError: HTTP Nenhum Nenhum para url
Decorrido: Nenhum
Ocorreu um erro de HTTP ao tentar recuperar este URL.
ConnectTimeout (MaxRetryError ("HTTPSConnectionPool (host = 'repo.continuum.io', porta
= 443): Máximo de tentativas excedido com url: /pkgs/free/win-64/repodata.json.bz2 (Causa
d por ConnectTimeoutError (
. (tempo limite de conexão = 9,15) ')) ",),)
eu corri
pip install -U spyder
Mas isso instalou o Spyder 3.1.2, não 3.2. (No Ubuntu 16.04 LTS)
Oi pessoal !
Eu tenho um pequeno problema com meu spyder. Em primeiro lugar, peço desculpas por escrever meu problema aqui! Isso não é tão importante, mas gostaria que alguém pudesse me ajudar ^^
Na verdade, quando eu abro o Spyder eu tenho muitas variáveis no explorer, como ScalarType, cast ect ...
Existe uma maneira de evitar que essas variáveis apareçam?
Muito obrigado!
@ldesmet no canto superior direito do plugin do explorador de variáveis, há um menu de engrenagem. Lá, existem opções para ocultar algumas variáveis, como:
_
)Essas opções atendem às suas necessidades?
Oi ! Obrigado pela sua resposta :)
Infelizmente, já marquei essas caixas. Ainda tenho essas variáveis no explorador de variáveis quando abro o Spyder (mais uma vez, não é grande coisa, eu apenas as apago manualmente, mas gostaria de parar de fazer isso ^^)
Obrigado novamente !
Assim que você abre o spyder (antes de executar qualquer script), essas variáveis povoam o explorador de variáveis?
Sim, exatamente ! Eu posso juntar uma foto se você quiser.
@ldesmet Parece que o console IPython executa algum código assim que você o abre, possivelmente importando numpy. Você pode abrir suas Preferências no Spyder (no menu Tools
), clicar em IPython console
e na guia Graphics
e ver se Automatically import Pylab and Numpy modules
está marcado? Em caso afirmativo, essa é provavelmente a causa. Caso contrário, outras coisas a verificar são a guia Startup
e Use symbolic maths
em Advanced Settings
.
Se nada disso ajudar, uma imagem seria útil.
Oi, obrigado pela sua resposta !
Acabei de desmarcar a caixa "Importar módulos Pylab e Numpy automaticamente" e agora não vejo mais essas variáveis! Isso funciona perfeitamente!
Obrigado a vocês, @Prikers e @jitseniesen :)
Olá, sou novo no python e no spyder e tenho o spyder 3.2.4 com o Python 3.5 instalado. Eu tenho um código de tensorflow que funciona bem. No entanto, tenho problemas com a depuração, pois ela não mostra nenhum valor de variável associado ao tensorflow no console. Por favor, veja um exemplo de 'previsão' abaixo após executar o código no modo de depuração. 'predizer é a saída de uma função tensorflow.
ipdb> i
9
ipdb> predizer
Estou importando o seguinte;
importar numpy como np
importar tensorflow como tf
tempo de importação
import data_helpers
Existe uma solução alternativa para mostrar os valores da variável tensorflow no console, já que isso é importante para a depuração?
Obrigado!
Saudações!
Eu tenho um problema semelhante no explorador de variáveis. Estou usando o Spyder 3.5. Por favor, deixe-me saber se estou fazendo algo errado aqui.
Quando escrevo o código abaixo, consigo ver welcome_str listado como no explorador de variáveis
welcome_str='hello'
print(welcome_str)
Agora, se escrever o mesmo código usando __name __ == "__ main__", o explorador de variáveis está vazio
#Main function
def main():
#define constants here
welcome_str='hello'
#program flow
print(welcome_str)
#Main function call
if __name__=="__main__":
main()
Eu experimentei o mesmo bug em minha tentativa de implementar o código a seguir no início do script como uma alternativa para usar manualmente% reset no console IPython para limpar o explorador de variável
de IPython import get_ipython
get_ipython (). magic ('reset -sf')
depurado ao importar alguns dados da GUI manualmente
Eu também estava tendo esse problema. Eu rastreei o uso de um script de inicialização IPython. Eu estava fazendo uma limpeza de variáveis no final e del get_ipython
aparentemente estava arruinando a conexão com o Explorador de Variáveis. Manter get_ipython
no escopo parece fazê-lo funcionar corretamente.
get_ipython aparentemente estava arruinando a conexão com o Variable Explorer. Manter get_ipython no escopo parece fazê-lo funcionar corretamente.
Sim, get_ipython é muito importante, não apenas para Spyder, mas para IPython. Portanto, por favor, não o remova.
os textos não estão sendo exibidos na coluna de valores de clean_answer, como resolver isso
@jagadishkt , abra uma nova edição sobre o seu problema em vez de postar em edições antigas e encerradas. Além disso, poste um código simples que possamos usar para reproduzir seu erro.
@ ccordoba12 obrigado. Ajudou
Tenho o mesmo problema com o Spyder 3.1.2 e o Python 3.6. As funções não são executadas corretamente - eu as vejo em execução, mas nada é retornado. Este também é o caso com funções de teste fictício (como a + b retornar c).
Eu estava tendo o mesmo problema com o spyder 3.3.6. Desinstalei o numpy, spyder e reinstalei os dois e o problema foi resolvido.
Comentários muito úteis
Há uma opção no Explorador de variáveis chamada
Exclude unsupported types
que, se desmarcada, mostrará todos os tipos de variáveis nela.