---
name: azion-instale-o-edgesql-shell
description: >-
  Clone o EdgeSQL Shell do repositório dele, instale as dependências em um ambiente virtual e autentique a ferramenta com seu personal token.
---

# Instale o EdgeSQL Shell

EdgeSQL Shell é uma ferramenta de linha de comando em Python que gerencia os bancos de dados do [SQL Database](/pt-br/documentacao/plataforma/sql-database/), executa SQL neles e importa dados para eles. Ela não é publicada em um índice de pacotes: você clona [o repositório](https://github.com/aziontech/edgesql-shell) e a instala a partir do código-fonte. O shell se autentica com seu personal token, lido da variável de ambiente `AZION_TOKEN`.

Para os comandos que o shell aceita depois de instalado, consulte [EdgeSQL Shell](/pt-br/documentacao/plataforma/sql-database/edgesql-shell/).

> **Atenção**
>
> EdgeSQL Shell não inicia em uma instalação limpa. Todo comando falha antes de o prompt `EdgeSQL>` aparecer, com `ImportError: cannot import name 'Configuration' from 'kaggle.api.kaggle_api_extended'`: `commands/import.py` importa o módulo do Kaggle incondicionalmente enquanto o shell inicia, e o `kaggle==1.8.3` fixado não define mais esse símbolo. Fixar uma versão anterior não resolve em uma máquina sem credenciais da Kaggle, porque o pacote autentica dentro do próprio `__init__.py` — `1.6.17` e `1.7.4` falham nesse ponto. Uma correção está pendente.
>
> Neutralizar essa única importação localmente mantém o resto da ferramenta funcionando. Isso é uma solução local, não uma etapa suportada. Para as interfaces que executam o mesmo SQL até a correção ser lançada, consulte [Solução de problemas](/pt-br/documentacao/plataforma/sql-database/solucao-de-problemas/).

---

## Pré-requisitos

- Python 3, com o módulo `venv` que vem com ele.
- Os headers do Postgres. `requirements.txt` fixa `psycopg2`, que é compilado a partir do código-fonte e falha na compilação sem eles. No macOS, instale-os com `brew install postgresql`.
- Um [personal token](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/). O shell o lê de `AZION_TOKEN`.
- SQL Database habilitado na sua conta. O produto está em Preview e não é habilitado por padrão, então solicite acesso ao [Technical Support](/pt-br/documentacao/suporte/).

---

## Instale o shell

A instalação clona o repositório, isola as dependências em um ambiente virtual e coloca o token no ambiente que o shell lê. Para instalar o shell:

1. **Clone o repositório**

   ```bash
   git clone https://github.com/aziontech/edgesql-shell.git
   ```

   Git escreve a ferramenta em um diretório `edgesql-shell` dentro do diretório atual.

2. **Entre no diretório**

   ```bash
   cd edgesql-shell
   ```

3. **Crie e ative um ambiente virtual**

   ```bash
   python -m venv env
   source env/bin/activate
   ```

   O diretório `env` guarda o ambiente, e ele permanece ativo pelo resto da sessão do terminal.

4. **Instale as dependências**

   ```bash
   pip install -r requirements.txt
   ```

   Os pacotes são instalados em `env`, e não no Python do sistema. `psycopg2` é compilado aqui, contra os headers do Postgres dos pré-requisitos.

5. **Exporte seu personal token**

   ```bash
   export AZION_TOKEN="[TOKEN VALUE]"
   ```

   Substitua `[TOKEN VALUE]` pelo seu personal token. A variável vale para a sessão atual do terminal.

6. **Inicie o shell**

   ```bash
   python edgesql-shell.py
   ```

   Em uma instalação limpa, a inicialização termina na falha de importação em vez do prompt:

   ```text
   ImportError: cannot import name 'Configuration' from 'kaggle.api.kaggle_api_extended'
   ```

A ferramenta fica instalada em `edgesql-shell`, com as dependências dela no ambiente `env` e seu token em `AZION_TOKEN`. O shell abre no prompt `EdgeSQL>`, onde cada linha que você digita é um comando do shell ou uma instrução SQL executada no banco de dados em uso.

Até o defeito acima ser corrigido, a última etapa termina no `ImportError` em vez de no prompt. A instalação em si está completa: o repositório, o ambiente, as dependências e o token estão todos no lugar, e o shell inicia assim que a importação do Kaggle for corrigida upstream.

---

## Execute um comando sem o prompt interativo

Duas flags executam o shell sem o prompt. `-n` torna a execução não interativa e `-c` passa um comando. Repita `-c` para executar vários comandos em ordem:

```bash
python edgesql-shell.py -n -c ".use MyDB" -c ".tables"
```

A execução seleciona o banco de dados `MyDB`, lista as tabelas dele e sai. Ela também chega ao `ImportError` até a correção ser publicada, porque o shell carrega os mesmos módulos, não importa de que forma ele inicie.

---

## Próximos passos

- [EdgeSQL Shell](/pt-br/documentacao/plataforma/sql-database/edgesql-shell.md): Todos os comandos que o shell aceita, seus argumentos, os modos de saída e as variáveis de credenciais.
- [Importe dados com o EdgeSQL Shell](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/dados/importar-dados-edge-sql.md): Carregue um arquivo CSV, um script SQL ou outro banco de dados para uma tabela pelo shell.
- [Crie e gerencie bancos de dados](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/dados/gerenciar-bancos-dados-edge-sql.md): Crie um banco de dados pelo Azion Console, pela Azion API ou pela biblioteca azion, e depois liste e exclua o banco.
- [Solução de problemas](/pt-br/documentacao/plataforma/sql-database/solucao-de-problemas.md): Os sintomas que SQL Database e o shell dele retornam, e o que cada um significa.
