Arquivo da categoria: Tecnologia da Informação

Conversa com ChatGPT: quando usar o Ambiente VirtualConversa com ChatGPT:

Os ambientes virtuais são uma ferramenta essencial em Python para gerenciar dependências de projetos de forma isolada. Eles permitem que você mantenha diferentes versões de pacotes para diferentes projetos sem causar conflitos, o que é especialmente útil quando você está trabalhando em vários projetos que dependem de diferentes versões dos mesmos pacotes.

Aqui estão alguns detalhes sobre quando e por que usar ambientes virtuais:

Quando Usar Ambientes Virtuais

  1. Projetos com Dependências Específicas:
    • Use ambientes virtuais quando seu projeto depende de pacotes específicos ou versões específicas de pacotes. Isso garante que você tenha um ambiente consistente, independente de mudanças no ambiente global do sistema.
  2. Evitar Conflitos de Pacotes:
    • Se você estiver trabalhando em múltiplos projetos que requerem versões diferentes de um mesmo pacote, os ambientes virtuais evitam conflitos, mantendo as dependências separadas.
  3. Desenvolvimento em Equipe:
    • Quando você compartilha o projeto com outros desenvolvedores, um ambiente virtual garante que todos usem as mesmas versões de pacotes. Isso é especialmente importante quando você usa um arquivo requirements.txt para especificar as dependências do projeto.
  4. Teste de Novas Funcionalidades:
    • Se você quiser testar novos pacotes ou funcionalidades sem afetar o ambiente global, um ambiente virtual é ideal para experimentação segura.
  5. Ambientes de Produção:
    • Nos ambientes de produção, usar ambientes virtuais pode ajudar a replicar com precisão as dependências do ambiente de desenvolvimento, evitando surpresas quando o projeto é implantado.

Vantagens dos Ambientes Virtuais

  • Isolamento: Mantém as dependências do projeto isoladas do sistema global.
  • Consistência: Permite que o projeto funcione com as mesmas versões de pacotes em diferentes sistemas.
  • Portabilidade: Facilita a reprodução do ambiente de desenvolvimento em outras máquinas.
  • Controle: Oferece controle total sobre quais pacotes e versões estão sendo usados.

Criando e Usando Ambientes Virtuais

Aqui estão os passos para criar e usar ambientes virtuais, com algumas dicas adicionais:

1. Criar um Ambiente Virtual

# No diretório do seu projeto
 python3 -m venv myenv
  • myenv: É o nome do diretório do ambiente virtual. Pode ser qualquer nome que você escolher.

2. Ativar o Ambiente Virtual

Em sistemas UNIX (Linux/MacOS):

source myenv/bin/activate

No Windows:

myenv\Scripts\activate

O prompt do terminal muda para indicar que o ambiente está ativo.

3. Instalar Pacotes no Ambiente Virtual

Com o ambiente virtual ativo, use pip para instalar pacotes:

pip install package_name
  • Isso garante que os pacotes sejam instalados somente dentro do ambiente virtual.

4. Gerar um Arquivo de Requisitos

Para compartilhar o ambiente de forma consistente, você pode gerar um arquivo requirements.txt:

pip freeze > requirements.txt

Este arquivo lista todas as dependências com suas versões. Outros desenvolvedores podem recriar o ambiente executando:

pip install -r requirements.txt

Por curiosidade, é possível usar pip para desinstalar todos os pacotes listados no arquivo gerado. Este comando desinstalará os pacotes sem pedir confirmação, então use com cuidado:

pip uninstall -r installed_packages.txt -y

O -r especifica que pip deve ler os nomes dos pacotes de um arquivo, e o -y confirma automaticamente a desinstalação.

5. Desativar o Ambiente Virtual

Quando terminar de trabalhar no projeto, você pode desativar o ambiente virtual:

deactivate

Considerações Adicionais

  • Reinstalação: Ambientes virtuais são locais ao diretório onde foram criados e podem ser facilmente recriados se necessário.
  • Automatização: Ferramentas como pipenv ou Poetry podem ajudar a gerenciar ambientes virtuais e dependências de forma mais automatizada.
  • Atualizações: Sempre ative o ambiente virtual antes de instalar, atualizar, ou remover pacotes.

Exemplo Prático

Suponha que você esteja trabalhando em dois projetos Python: um requer a versão 1.x de um pacote e o outro precisa da versão 2.x do mesmo pacote.

Projeto 1:

Crie o ambiente virtual:

mkdir projeto1
cd projeto1
python3 -m venv venv
source venv/bin/activate

Instale a versão específica do pacote:

pip install pacote==1.0.0

Projeto 2:

Crie o ambiente virtual:

mkdir projeto2
cd projeto2
python3 -m venv venv
source venv/bin/activate

Instale a outra versão do pacote:

pip install pacote==2.0.0

Dessa forma, cada projeto tem suas próprias dependências sem conflitos, graças aos ambientes virtuais.

Resíduos de Ambientes Anteriores:

Se o diretório myenv já existia e não foi removido adequadamente antes de criar o novo ambiente virtual, ele pode conter pacotes de instalações anteriores.

Verificando o que Está Instalado

Para verificar os pacotes instalados em seu ambiente virtual, ative o ambiente e liste os pacotes:

# Ativar o ambiente virtual
source myenv/bin/activate
# Listar pacotes instalados
pip list

Como Garantir um Ambiente Virtual Limpo

Para garantir que você tenha um ambiente virtual limpo, siga estas etapas:

1. Remova o Ambiente Virtual Existente (se necessário):

Se você suspeita que o ambiente virtual atual não está limpo, remova-o completamente antes de criar um novo:

# Certifique-se de que o ambiente está desativado antes de removê-lo
deactivate
# Remover o diretório do ambiente virtual
rm -rf myenv

2. Crie um Novo Ambiente Virtual:

Crie um novo ambiente virtual sem herdar pacotes globais:

python3 -m venv myenv

3. Verifique o Novo Ambiente:

Ative o novo ambiente virtual e liste os pacotes para garantir que ele esteja limpo:

source myenv/bin/activate
pip list

O resultado deve incluir apenas os pacotes básicos, como pip, setuptools, e wheel.

Reinstalando Pacotes Especificados

Após criar um ambiente virtual limpo, instale apenas os pacotes necessários para o seu projeto. Use um arquivo requirements.txt para instalar dependências de forma consistente:

pip install -r requirements.txt

Usando Ambientes Virtuais com Outros Gerenciadores de Dependência

Além do venv, há outras ferramentas que podem ajudar no gerenciamento de dependências:

Pipenv: Gera e mantém um Pipfile e Pipfile.lock, oferecendo um controle mais robusto sobre versões de pacotes e ambientes virtuais.

pipenv install nome_do_pacote
pipenv shell # Para entrar no ambiente virtual

Poetry: Gerencia dependências e versões, mantendo um pyproject.toml e um poetry.lock.

poetry add nome_do_pacote
poetry shell # Para entrar no ambiente virtual

Essas ferramentas podem ajudar a evitar pacotes desnecessários e garantir ambientes virtuais mais controlados.

Como Verificar um Ambiente Virtual Limpo

Para garantir que seu ambiente virtual esteja limpo e somente com os pacotes padrão, siga estas etapas:

1. Remova o Ambiente Virtual Existente:

Antes de criar um novo ambiente virtual, remova completamente o antigo:

deactivate # Certifique-se de que o ambiente virtual está desativado
rm -rf myenv # Remova o diretório do ambiente virtual

2. Crie um Novo Ambiente Virtual:

Crie um ambiente virtual sem herdar pacotes globais:

python3 -m venv myenv

3. Verifique os Pacotes Instalados:

Ative o ambiente virtual e verifique quais pacotes estão instalados:

source myenv/bin/activate # Ativar o ambiente virtual
pip list # Listar pacotes instalados

O resultado deve incluir apenas:

  • pip
  • setuptools
  • wheel

Se você vir mais pacotes, algo pode estar influenciando a instalação do seu ambiente virtual.

Soluções para Manter o Ambiente Virtual Limpo

Use --without-pip para Criar um Ambiente Inicial:

Para criar um ambiente virtual sem pip e instalar o pip manualmente:

python3 -m venv --without-pip myenv
source myenv/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python 

Isso garante que pip seja instalado a partir de uma fonte limpa.

Verifique o Python Global:

Verifique se o seu Python global tem pacotes inesperados e limpe-os se necessário. Isso pode evitar heranças indesejadas caso algum pacote influencie a criação do ambiente.

Atualize pip e setuptools:

Mantenha pip e setuptools atualizados dentro do ambiente virtual:bashCopiar códigopip install --upgrade pip setuptools

Use Distribuições Limpa de Python:

Use distribuições oficiais do Python ao invés de versões modificadas, como Anaconda, para evitar pacotes adicionais indesejados.

Verifique Scripts de Pós-Instalação:

Revise se há scripts ou configurações no sistema que possam instalar pacotes automaticamente após a criação de um ambiente virtual.

Exemplo de Criação de Ambiente Virtual Limpo

Aqui está um exemplo completo de como criar e verificar um ambiente virtual limpo:

# Remover ambiente virtual existente
rm -rf myenv

# Criar novo ambiente virtual
python3 -m venv myenv

# Ativar ambiente virtual
source myenv/bin/activate

# Atualizar pacotes básicos
pip install --upgrade pip setuptools

# Listar pacotes instalados
pip list

Resumo

Ambiente Virtual Padrão:

Deve incluir apenas pip, setuptools, e wheel.

Verifique Pacotes Adicionais:

Se outros pacotes aparecerem, revise suas configurações e instalações.

Manter Limpeza:

Use práticas recomendadas para garantir que os ambientes virtuais sejam criados sem interferências externas.

Trabalhar como taxista nos dias de hoje

Em um momento que se vislumbra carros sem motoristas, hoje já observamos a ameaça de extinção dos taxistas.

Se saindo com um passageiro do Tucuruvi com destino a Alphaville, lá em Barueri, há 5 anos atrás essa corrida daria em torno de 140 reais totais, já acrescidos com a taxa de 50% devido a ser o destino outro município. Agora o mesmo chamado do passageiro, do Tucuruvi para Alphaville, tem saído em média por 65 reais. Continue reading

Sistema político realmente moderno

É interessante o tanto que as coisas avançam e mal nos damos conta.

Por exemplo, temos um sistema político de um tempo que a internet não existia, muito menos as famigeradas redes sociais.

No Youtube, Facebook e Netflix temos um moderno sistema de votação. Tão moderno que eles são absurdamente simples, pois se baseiam em dizer “sim” ou “não”.

Para que precisamos de políticos mesmo?

Basta qualquer um colocar uma proposta em pauta, como se fosse um Post no Facebook só que colocado na câmara do Estado.

Os servidores públicos são encarregados de fazer a coisa acontecer: organizando, determinando, exigindo e fiscalizando as leis criadas virtualmente.

Exclui-se quem onera a máquina pública sem nítido benefício para o povo. E o que fica é o trabalho feito por verdadeiros representantes da população.

Uberização dos mercados

A palavra “uberização” pode até parecer novidade, mas é apenas uma nova candidata aos dicionários, que na prática o conceito já está no mercado já tem muito tempo.

Hoje em dia temos visto muita confusão, tumulto e briga [no mal e bom sentido da palavra] que a empresa Uber trouxe ao mercado mundial, principalmente se voltando contra os taxistas. Porém, do ponto de vista do passageiro [cliente do Uber e dos taxistas] essa briga veio a trazer somente benefícios até então.

Se nos atentarmos para brigas mais antigas a essa, que também ocorreram no comércio, facilmente poderemos perceber de que se trata do mesmo fenômeno. Quero citar agora o que aconteceu com a indústria musical, cinematográfica e televisão, mas certamente lembrarei outras em breve. Continue reading

Windows 10, Microsoft sendo Microsoft

Embora o Windows 10 tenha sido oficialmente lançado no final de julho de 2015, dia 29, alguns dias atrás, é agora em agosto que a maioria das pessoas pode ter acesso a dispor de tal experiência nos computadores pessoais.

Foi grande a expectativa para essa oportunidade, já que tradicionalmente versão sim e outra não a Microsoft “erra a mão”. O Windows 8 implementou muitas mudanças na experiência de uso que não vingaram, algumas delas ganharam uma nova chance. Tal dedicação por inovar a maneira de usar os computadores se deve a competição com os Smartphones, talvez mais precisamente contra o poder de mercado do Google. Continue reading

Whatsapp, febre Zapzap veio para ficar

What’s Up! What’s Happening. Foram minhas primeiras tentativas de entender o nome do aplicativo. Para minha surpresa era mais simples do que imaginei: Whatsapp. Ocorreu assim devido a não ter lido em lugar algum e sim ter escutado falar sobre essa tal aplicativo. Porém, não passei longe do real significado, dizem ser: “Qual é?”; ou “Que tá pegando?”. No Brasil ganhou uma forma ainda mais amistosa de se chamar: Zapzap.

Whatsapp seria um aplicativo de comunicação instantânea como qualquer outro de seus concorrentes, não fossem alguns detalhes cruciais. Teria sido baseado em ideias antigas, das primeiras décadas da internet [década de 90 do século XX], como o também febril MSN Messenger e o primórdio ICQ. Só que aparentemente ele não veio para competir e sim para quebrar paradigmas, galgando o próprio espaço ou caminho no mundo da internet. Continue reading

Etapas de construção de um site

Normalmente quando o cliente se decide por ter um site de internet ele é super, hiper, otimista. A cabeça dele não vê o site e suas complexidades e adversidades, ele pensa “quero ter uma página da internet”. Como se tudo pudesse ser resumido a uma ou no máximo algumas páginas do site.

Por outro lado há alguns que pensam grande, pensam em um site que deva revolucionar a internet. Às vezes até pensam serem capazes de fazer essa obra sozinho. Na verdade até podem, mas o resultado dificilmente será verdadeiramente profissional e completo. Continue reading