Pacotes de terceiros em algoritmos Python
Ao criar cBots, indicadores ou plugins baseados em Python para o cTrader, poderá necessitar de utilizar pacotes de terceiros como pandas, numpy ou outras bibliotecas. Este guia mostra-lhe como declarar tais dependências num ficheiro requirements.txt, o que garante que o seu algoritmo funciona corretamente em todos os ambientes.
Configuração e regras do ficheiro
requirements.txt é um ficheiro de texto simples utilizado para especificar pacotes Python externos de que um projeto necessita. O seu ficheiro requirements.txt deve seguir estas regras:
- O ficheiro deve ser nomeado exatamente
requirements.txt - O ficheiro deve ser colocado na raiz do projeto, juntamente com o seu ficheiro de entrada Python (por exemplo,
Super cBot_main.py). - O ficheiro deve ser incluído nos ficheiros do projeto para que seja empacotado com o algoritmo.
Uma vez que o ficheiro requirements.txt esteja presente e devidamente formatado, basta construir o seu projeto, e todas as dependências listadas serão adicionadas e resolvidas automaticamente. Aqui está um exemplo:
...\Documents\cAlgo\Sources\Robots\Super cBot\Super cBot
1 2 | |
Funcionalidades suportadas
O formato requirements.txt segue as convenções padrão utilizadas pelo pip. Os seguintes exemplos demonstram como especificar versões de pacotes utilizando especificadores de versão, adicionar comentários e utilizar linhas em branco para melhorar a legibilidade:
Fixar uma versão exata
1 | |
Permitir uma versão mínima
1 | |
Utilizar comentários e linhas em branco
1 2 3 4 5 | |
Melhores práticas
- Fixe bibliotecas críticas para evitar comportamentos inesperados quando novas versões introduzem alterações incompatíveis.
- Se utilizar especificadores de intervalo para pacotes menos críticos, teste o seu algoritmo sempre que a dependência for atualizada.
- Considere escrever comentários significativos para explicar por que razão certos pacotes foram utilizados ou por que razão foram escolhidas versões específicas.
- Reconstrua o seu projeto sempre que editar o
requirements.txtpara garantir que as dependências são instaladas corretamente.
