Python / Redis – O que é o caracter ‘b’ no retorno do redis (About char b prefix in Python client connect to redis)

redis_python

b’Hello Python’

Esse tipo de retorno indica que o valor é um byte de string – o redis irá codificar automaticamente a string unicode para você na gravação, mas é seu trabalho decodificá-lo ao pega-lo.

>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379)
>>> redisClient.set(‘test_redis’, ‘Hello Python’)
>>> redisClient.get(‘test_redis’)
b’Hello Python’

Podemos decodificar seu valor de duas maneiras:

A primeira seria logo ao abrir a conexão definir a propriedade decode_responses

>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379, decode_responses=True)
>>> redisClient.get(‘test_redis’)
‘Hello Python’

A outra maneira é chamar o método .decode no retorno do .get()

>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379)
>>> redisClient.get(‘test_redis’).decode()
‘Hello Python’

Uma observação importante:
Podemos configurar o charset na conexão, no decode ou até mesmo no encode:

>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379, charset=’utf-8′, decode_responses=True)

>>> redisClient.set(‘test_redis’, ‘Hello Python’.encode(‘utf-8′))

>>> redisClient.get(‘test_redis’).decode(‘utf-8)

Python – Criando um ambiente virtual (venv) – (Creation of virtual environments)

py

O módulo venv fornece suporte para a criação de “ambientes virtuais” leves com seus próprios diretórios isolados dos diretórios do sistema. Cada ambiente virtual tem seu próprio binário Python (que corresponde à versão do binário que foi usada para criar esse ambiente) e pode ter seu próprio conjunto independente de pacotes Python instalados em seus diretórios de sites.

Instale a dependência do python para criar a venv:

$sudo apt-get install python3-venv

Para criar o ambiente: ( o ‘./venve’ represente o diretório aonde vai ser criado o ambiente virtual )

$python3 -m venv ./venv

Para ativar a venv no terminal e começar a utilizar:

$source venv/bin/activate

Para desativar:

$deactivate

Documentação em: https://docs.python.org/3/library/venv.html