fbpixel
Etiquetas:

Neste tutorial, veremos as melhores práticas para organizar um projeto Python para que possa ser partilhado e implementado.

Quer esteja a trabalhar num software, numa biblioteca ou numa interface gráfica, como uma aplicação Web ou uma aplicação móvel, se quiser partilhar o seu trabalho, tem de o organizar e documentar corretamente.

É possível aplicar estas práticas ao projeto Serial Monitor

Criar um ambiente virtual

Quando se pretende criar um projeto que se vai partilhar e manter a longo prazo, é essencial integrá-lo num ambiente virtual para isolar as suas dependências (bibliotecas utilizadas, versões, etc.).

No Windows, certifique-se de que a versão do python que está a utilizar pode ser chamada com python.exe

  • python -m pip install python3-venv –> pour installer
  • python -m venv venv –> créer un environnement virtuel
  • source venv/bin/activate –> activer l’environnement
  • deactivate –> désactiver l’environnement

N.B.: No Windows, para abrir a consola onde quiser, pode criar um ficheiro start_console.bat para o qual copia o comando

iniciar cmd.exe

Pode executar o ficheiro fazendo duplo clique para abrir o terminal

Depois de o ambiente ter sido criado, pode adicionar ou remover pacotes

pip install <package_name>
pip install <package_name>==<version>
pip uninstall <package_name> 

E mantenha o registo dos pacotes e versões utilizados no ficheiro requirements.txt

pip freeze > requirements.txt

Arquitetura de ficheiros de um projeto Python

Com base nas recomendações de Kenneth Reitz, eis a estrutura de ficheiros a adotar.

  • Se o seu projeto for constituído por apenas um ficheiro
helloworld/
│
├── .gitignore
├── helloworld.py
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
└── tests.py
  • Para projectos mais complexos que contenham diferentes módulos
sample
│
├── docs
│   ├── conf.py
│   ├── index.rst
├── sample
│   ├── __init__.py
│   ├── core.py
│   ├── helpers.py
├── tests
│   ├── test_basic.py
│   ├── test_advanced.py
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py

Nota: Para visualizar a árvore de pastas, pode utilizar o comando de árvore

Na prática, tem toda a liberdade para criar a arquitetura das pastas. O importante é que seja funcional, modular e organizada.

Segue-se uma descrição dos ficheiros de arquitetura essenciais

  • sample.py ou sample: contém o código-fonte com um ou mais módulos
  • README: descrição do projeto, guia de instalação, fonte e exemplo. Possíveis desenvolvimentos
  • LICENÇA: contém a licença e os direitos de autor ao abrigo dos quais o código é publicado
  • requirements.txt: contém todas as dependências e versões exigidas pelo script
  • setup.py : gere a distribuição e a construção do projeto Python
  • docs: contém a documentação do projeto
  • tests: contém os guiões de teste do projeto

Uma vez criada esta arquitetura, pode utilizá-la e adaptá-la a todos os seus projectos Python.

Fontes