Skip to content

Instantly share code, notes, and snippets.

@henriqueotogami
Created March 5, 2025 04:37
Comandos Shell do Linux para instalação do pyenv e paho-mqtt na BananaPi
# Adiciona a variável de ambiente PYENV_ROOT ao arquivo ~/.bashrc, que é carregado sempre que um novo terminal Bash é aberto
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
# Adiciona uma configuração ao arquivo ~/.bashrc para garantir que o diretório bin do Pyenv seja incluído no PATH, mas apenas se ele existir.
$ echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
# adiciona a configuração necessária para inicializar o Pyenv sempre que você abrir um terminal, permitindo que o Pyenv funcione corretamente com o Bash.
$ echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
# Adicionando a variável de ambiente PYENV_ROOT no arquivo ~/.profile, que é outro arquivo de configuração de inicialização do shell,
# usado principalmente para configurar variáveis de ambiente em sessões de login.
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
# Adiciona uma configuração ao arquivo ~/.profile para garantir que o diretório bin do Pyenv seja incluído na variável PATH, mas apenas se o diretório existir
$ echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
# adiciona a inicialização do Pyenv ao arquivo ~/.profile, permitindo que o Pyenv seja configurado e esteja disponível em sessões de login,
# como acontece no caso de ~/.bashrc para sessões interativas.
$ echo 'eval "$(pyenv init - bash)"' >> ~/.profile
# adicionando a variável de ambiente PYENV_ROOT no arquivo ~/.bash_profile, que é carregado em sessões de login interativas,
# especificamente para shells Bash.
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
# Adicionado ao ~/.bash_profile, que é lido nas sessões de login interativas para o shell Bash.
# Ele vai garantir que o diretório bin do Pyenv seja incluído no PATH apenas se esse diretório existir.
$ echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# adiciona a configuração necessária para inicializar o Pyenv em sessões de login interativas, especificamente para o Bash.
# Isso permite que o Pyenv funcione corretamente sempre que você abrir uma nova sessão de terminal.
$ echo 'eval "$(pyenv init - bash)"' >> ~/.bash_profile
# reinicia o shell atual, substituindo o processo atual do terminal pelo processo de um novo shell.
$ exec "$SHELL"
# libreadline-dev, que é necessário para compilar ou desenvolver software que use a biblioteca Readline.
$ sudo apt install libreadline-dev
# libssl-dev é necessário ao compilar programas a partir do código-fonte que dependem do OpenSSL para fornecer funcionalidades de criptografia.
$ sudo apt install libssl-dev
# lzma é um algoritmo de compressão de arquivos de alta taxa de compressão,
# conhecido por ser eficiente tanto na compactação quanto na descompactação de dados.
$ sudo apt install lzma
# liblzma-dev é o pacote de bibliotecas de desenvolvimento para a biblioteca LZMA (Lempel–Ziv–Markov chain algorithm).
$ sudo apt install liblzma-dev
# libbz2-dev é o pacote de bibliotecas de desenvolvimento para a biblioteca Bzip2.
$ sudo apt install libbz2-dev
# libsqlite3-dev é o pacote de bibliotecas de desenvolvimento para o SQLite3, um sistema de gerenciamento de banco de dados leve e embutido.
$ sudo apt install libsqlite3-dev
# Tk é uma biblioteca gráfica que fornece uma interface de usuário para criar aplicações com janelas, botões, caixas de texto e outros elementos gráficos.
$ sudo apt install tk
# libtk é a biblioteca Tk em forma de pacote. Essa biblioteca é usada para criar interfaces gráficas de usuário (GUIs) em aplicativos.
$ sudo apt install libtk
# tk-dev é o pacote de desenvolvimento para o Tk, que inclui os arquivos de cabeçalho e bibliotecas necessárias para compilar programas que utilizam o Tk para criar interfaces gráficas de usuário (GUIs).
$ sudo apt install tk-dev
# Refere-se ao diretório padrão onde o OpenSSL armazena seus arquivos de configuração e certificados.
$ OPENSSLDIR: "/usr/lib/ssl"
# Define uma variável de ambiente chamada LDFLAGS com opções específicas para o linker durante o processo de compilação.
$ LDFLAGS="-Wl,-rpath,<openssl install prefix>/lib" \
# É uma configuração que você pode passar para um script configure durante a instalação de software que depende do OpenSSL.
# Essa linha define uma variável de ambiente chamada CONFIGURE_OPTS com uma opção específica para a configuração do software.
$ CONFIGURE_OPTS="--with-openssl=<openssl install prefix>" \
# É usada para definir uma variável de ambiente chamada CPPFLAGS.
# Ela contém opções que são passadas ao pré-processador C/C++ (o cpp) durante a compilação de programas.
# Essa linha indica ao compilador onde procurar arquivos de cabeçalho (header files) necessários para a compilação.
$ CPPFLAGS="-I /usr/lib/ssl/include" \
# Define a variável de ambiente LDFLAGS com uma opção para o linker (geralmente o ld) durante o processo de compilação de um programa.
# Essa linha especifica onde o linker deve procurar pelas bibliotecas durante a etapa de vinculação.
$ LDFLAGS="-L /usr/lib/ssl/lib" \
# Instalação da versão 3.9 do Python
$ pyenv install -v 3.9
# Representa uma variável de ambiente que define o caminho de pesquisa para comandos executáveis no sistema operacional.
# Essa variável é conhecida como PATH e é crucial para o sistema localizar os programas que você executa no terminal.
$ /home/pi/.pyenv/shims:/usr/local/bin:/usr/bin:/
# Inicializa o pyenv
$ pyenv init
# reinicia o shell atual, substituindo o processo atual do terminal pelo processo de um novo shell.
$ exec "$shell"
# Instala a biblioteca para o mqtt
$ pip3 install paho-mqtt
# Executa o arquivo BlinkPublishMQTT
$ python3 BlinkPublishMQTT.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment