Jump to content

Recommended Posts

Posted (edited)

Fora do IPython os acentos funcionam normalmente? Digo {} e ()?

Você está usando Linux ou Windows?

Eu tive problemas no Linux usando LANG=C

Se for Linux, tenta:

# locale -a
C
C.UTF-8
POSIX
pt_PT.utf8

Deve aparecer pt_PT.utf8.

export LANG=pt_PT.utf8
ipython

Comigo resolveu o problema.

Se você não instalou pt_PT.utf8, instale com:

locale-gen pt_PT.utf8
Edited by Nilo Menezes
Posted (edited)

Obrigado pela resposta. Estou a usar Windows e o problema com as chavetas e parênteses e tudo o que tenha que introduzir usando a tecla AltGr só ocorrem no IPython. Já se abrir

ipython qtconsole

ou

jupyter qtconsole

 

deixo de ter esse problema. No entanto, isso não é muito conveniente, porque se usar por exemplo

ipython --pylab

continuo com o problema, e é nesse ambiente que queria trabalhar.

 

Vou tentar ver se há algo equivalente às recomendações para Windows.

Edited by António Oliveira
Posted (edited)

Reparei que há um problema com o uso do IPython no Windows. Vou tentar deixar aqui o resumo do que me aconteceu. Fiz um pequeno programa para zipar ficheiros que envolvia invocar a seguinte função:

def zip_to(paths, zippath):
  files = ' '.join(paths)
  files = ' ' + files
  cmd = '7z a ' + zippath + files
  (status, output) = subprocess.getstatusoutput(cmd)

Se eu invocar o interpretador python directamente na linha de comandos do Windows, não há problema mas se eu correr o programa a partir do Git Bash ou do IPython, fazendo %run .... o status dá 1 porque algures os paths para os ficheiros são passados sem as barras (\). Reparei que se correr dentro do IPthon, por sua vez iniciado a partir do Git Bash, também funciona.

Perdi imenso tempo com isto. Fica o aviso.

Edited by António Oliveira
Posted

Quanto às teclas, testei hoje no Windows pelo cmd e pelo gitbash. Em ambos os casos funcionou direitinho. Verifique se a língua está configurada corretamente nas configurações regionais.

Quanto ao script que você passou, eu recomendo passar o nome dos arquivos dentro de uma lista, pois concatenando strings você terá problema com nomes e paths que contenham espaços em branco!

Ficaria algo como:

import subprocess


def zip_to(paths, zippath):
    try:
        output = subprocess.check_output([r"c:\Program Files\7-Zip\7z.exe", "a", zippath, *paths])
    except subprocess.CalledProcessError as cpe:
        print("Erro: {}".format(cpe.errorcode))
        raise
    return output


zip_to(['site', 'omegat'], 'test.7z')
        

Veja que no caso, meu 7z fica dentro de Program Files e que utilizei r antes das aspas para que as \ não sejam convertidas.

getstatusoutput está como função antiga na documentação, troquei por uma mais nova check_output.

Posted (edited)

Obrigado pela resposta. Eu ainda estou no começo e a questão do tratamento de excepções não é ainda uma prioridade. Isso era um exercício e certifiquei-me de meter o 7z na path para evitar problemas. O tutorial que eu estava a seguir até referia  uso do módulo  commands em vez de subprocess.

Edited by António Oliveira
Posted
Em 03/10/2016 às 14:25, Nilo Menezes disse:

Quanto às teclas, testei hoje no Windows pelo cmd e pelo gitbash. Em ambos os casos funcionou direitinho. Verifique se a língua está configurada corretamente nas configurações regionais.

Não sei exactamente a que se refere. O problema só me ocorre se iniciar o ipython no gitbash (sem abrir nova consola qt). Não tenho esse problema sequer quando uso o git bash para outras coisas. Só com o ipython no git bash. Desculpe estar a ser repetitivo. Tenho também um problema nas ferramentas de programador do Chrome em que quando tento escrever o acento circunflexo, abre a janela para a configuração dessas ferramentas. 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.