Arquivo da tag: python

usando pipx

fonte original: https://medium.com/@habbema/python-pipx-814429e2461a

O que é o pipx?

pipx é uma ferramenta que permite instalar e executar pacotes Python em ambientes isolados, fornecendo um ecossistema limpo e independente para cada ferramenta. Ele foi projetado para resolver o problema comum de conflitos de dependências entre ferramentas Python, permitindo que você instale e use facilmente ferramentas em um ambiente isolado sem afetar o ambiente global do Python.

Qual a diferença entre o charme (pip) e o funk (pipX)?

Para ilustrar a diferença entre o uso do pip e do pipx, vamos a um exemplo:

Suponha que você queira instalar uma ferramenta de linha de comando chamada “black”, que é um formatador automático de código Python.

Com o pip:

pip install black

Isso instalaria o “black” no ambiente Python atual. Você poderia usar o “black” em seus projetos Python, mas ele estaria disponível apenas no contexto desse ambiente específico.

Com o pipx:

pipx install black

Isso instalaria o “black” de forma isolada em um ambiente separado, gerenciado pelo pipx. Assim, você teria acesso ao “black” como um utilitário de linha de comando globalmente em seu sistema, independentemente do ambiente Python em que estiver trabalhando. Isso significa que você poderia chamar o “black” de qualquer lugar em seu sistema, independentemente do ambiente Python ativo.

Essa é a diferença fundamental: o pip instala pacotes no ambiente Python atual, enquanto o pipx instala utilitários de linha de comando de forma isolada e globalmente acessível em seu sistema.

Por que usar o pipx?

Existem várias razões pelas quais o pipx pode ser uma escolha inteligente para gerenciar suas ferramentas Python:

  1. Isolamento de Dependências: Com o pipx, cada ferramenta é instalada em um ambiente Python isolado, o que significa que as dependências de uma ferramenta não afetam outras ferramentas ou o ambiente global do Python.
  2. Facilidade de Uso: O pipx simplifica o processo de instalação e uso de ferramentas Python, permitindo que você as instale com um único comando e as execute como se fossem programas independentes.
  3. Gerenciamento de Versões: Você pode facilmente instalar várias versões de uma ferramenta específica usando o pipx, garantindo compatibilidade com diferentes projetos.
  4. Atualizações Simples: pipx facilita a atualização de todas as suas ferramentas instaladas com um único comando, mantendo seu ambiente Python limpo e atualizado.

Como usar o pipx

Agora que entendemos por que o pipx é útil, vamos dar uma olhada em como usá-lo:

Instalação do pipx:

Você pode instalar o pipx usando o pip, o gerenciador de pacotes Python padrão. Basta executar o seguinte comando em seu terminal:

pip install pipx

Instalação de Ferramentas:

Com o pipx instalado, você pode começar a instalar suas ferramentas Python favoritas. Por exemplo, para instalar o black, um formatador de código Python, execute o seguinte comando:

pipx install black

Execução de Ferramentas:

Depois de instalar uma ferramenta com o pipx, você pode executá-la como se fosse um programa independente. Por exemplo, para formatar um arquivo Python com o black, basta executar:

black my_file.py

Atualização de Ferramentas:

Para atualizar todas as ferramentas instaladas com o pipx, execute o seguinte comando:

pipx upgrade-all

Conclusão

pipx é uma ferramenta poderosa que simplifica o processo de gerenciamento de ferramentas Python, fornecendo ambientes isolados limpos para cada ferramenta. Com o pipx, você pode instalar e executar suas ferramentas Python favoritas sem se preocupar com conflitos de dependências ou versões. Se você ainda não experimentou o pipx, considere incorporá-lo ao seu fluxo de trabalho de desenvolvimento Python para uma experiência mais organizada e eficiente.

Como gerar arquivo de código de byte em python? – fonte: Acervo Lima

Fonte: Como gerar arquivo de código de byte em python? – Acervo Lima

>>> import py_compile
>>> py_compile.compile ('abc.py')

ou

$ python -m compileall 

Continuar lendo

Python com erro “IOError: [Errno 24] Too many open files”

Ao utilizar o python em um OS linux comecei a receber alguns erros “Too many open files” quando tentava escrever dados em arquivos texto.

Pesquisando, descobri que é uma configuração no linux que impede a abertura de muitos arquivos simultaneamente, para corrigir é só seguir os passos abaixo:

executar o comando:

ulimit -n 50000

e depois adicionas as linhas no arquivo “/etc/security/limits.conf”:
sudo vim /etc/security/limits.conf

*         hard    nofile      500000
*         soft    nofile      500000

fonte de referência: https://stackoverflow.com/questions/18280612/ioerror-errno-24-too-many-open-files

dicas: alertas pop-up – beep – sintetizador de voz

https://stackoverflow.com/questions/4273098/sound-notification-in-ubuntu-terminal

https://askubuntu.com/questions/611874/how-do-you-make-your-terminal-play-a-sound-or-offer-a-notification-when-it-has-f

https://ubuntu-mate.community/t/how-to-add-sound-for-popup-notifications/6120/10

https://unix.stackexchange.com/questions/8607/how-can-i-play-a-sound-when-script-execution-is-ready

Show notification and play alert sound on low battery

https://ma.ttias.be/the-ping-that-makes-a-sound/

https://wiki.archlinux.org/index.php/PC_speaker

https://askubuntu.com/questions/187022/how-can-i-send-a-custom-desktop-notification

Customize Notify-OSD (On Screen Notifications) in Ubuntu 14.04

https://www.dicas-l.com.br/arquivo/notify-send_notificacoes_no_desktop.php

https://askubuntu.com/questions/185110/what-is-the-name-of-the-program-that-displays-the-notifications

https://forum.lazarus.freepascal.org/index.php?topic=34430.0

http://www.upubuntu.com/2011/09/gnome-add-your-custom-alert-sound-for.html

https://serverfault.com/questions/19743/is-there-a-visual-bell-in-linux-that-works-in-x

http://www.vidageek.net/2008/09/01/meu-ubuntu-fala/

Como sintetizar voz com o espeak

https://www.pythonbay.com/blog/2017/11/22/como-sintetizar-voz-no-python/

Conheça o Brasil TTS! Um sintetizador voz em português voltado para deficientes visuais que usam Linux!

https://www.vivaolinux.com.br/dica/Seu-Linux-falando-portugues-nativamente/

 

 

 

 

Recuperando a linha de Comando em Scripts Python com args e argparse

dicas:
https://cadernodelaboratorio.com.br/2017/06/05/python-3-processando-argumentos-da-linha-de-comando/

solução para string com espaços=usar nargs=’+’ join
https://stackoverflow.com/questions/18157376/handle-spaces-in-argparse-input

parser.add_argument(‘-d’, ‘–dmp’, nargs=’+’, …)
opts = parser.parse_args()
‘ ‘.join(opts.dmp)

Python – Dica: glob — listando arquivos de diretórios

dica muito boa -> fonte: https://pythonhelp.wordpress.com/2012/08/20/glob-listando-arquivos-de-diretorios/

 

De vez en quando, é necessário que obtenhamos uma lista com os arquivos presentes em um diretório, para que, por algum motivo possamos abri-los e fazer alguma operação sobre eles. A forma mais simples de fazer isso é usando a função listdir(), do módulo os.

1
2
3
>>> import os
>>> print os.listdir('/')
['home', 'media', 'lib64', 'tmp', 'mnt', 'opt', 'boot', 'sys', 'srv', 'dev', 'selinux', 'proc', 'root', 'lib32', 'etc', 'bin', 'usr', 'vmlinuz', 'lib', 'run', 'sbin', 'var', 'initrd.img']

Mas, poderíamos querer listar somente os arquivos .py, por exemplo, para abrí-los, em sequência. É aí que entra o módulo glob. Ele permite que listemos os arquivos de um diretório, usando expressões semelhantes as que usamos no shell, como por exemplo: *.py.

1
2
3
>>> import glob
>>> print glob.glob('*.py')
['a.py', 'b.py', 'novo.py']

Assim, se eu quisesse abrir e imprimir o conteúdo de todos os arquivos .py que estão em determinado diretório, excluindo as linhas comentadas, poderia fazer o seguinte:

1
2
3
4
5
>>> import glob
>>> for file in glob.glob('*.py'):
...     for line in open(file):
...         if not line.strip().startswith('#'):
...             print line

Mais informações sobre o glob em: http://docs.python.org/library/glob.html

Automatize tarefas maçantes com Python [PDF]

APRENDA PYTHON. FAÇA O QUE TEM DE SER FEITO.

Automatize-tarefas-macantes-com-pythonSe você já passou horas renomeando arquivos ou atualizando centenas de células de planilhas, sabe quão maçantes podem ser esses tipos de tarefa. Que tal se você pudesse fazer o seu computador executá-las para você?

Em Automatize tarefas maçantes com Python, você aprenderá a usar o Python para criar programas que farão em minutos o que exigiria horas para ser feito manualmente – sem que seja necessário ter qualquer experiência anterior com programação. Após ter dominado o básico sobre programação, você criará programas Python que realizarão proezas úteis e impressionantes de automação sem nenhum esforço

link atualizado: pdf
senha para descompactar: python

Python – convertendo formato de data excel

Convert o famto de data excel com 5 digitos comum em aparecer nos csv para o formato de data padrão

exemplo1: de 43411 para 2018-11-07

from datetime import datetime
excel_date = 43411
dt = datetime.fromordinal(datetime(1900, 1, 1).toordinal() + excel_date - 2) #tem que ser '-2' por causa de uma contagem maluca do excel
print(dt)

exemplo 2: de 43411 para 07/11/2018

from datetime import datetime
excel_date = 43411
data_transformada = datetime.fromordinal(datetime(1900, 1, 1).toordinal() + excel_date - 2).date() #tem que ser '-2' por causa de uma contagem maluca do excel
data_formato_humano = '{}/{}/{}'.format(data_transformada.day,data_transformada.month,data_transformada.year)

print(data_formato_humano)