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 installerpython -m venv venv
–> créer un environnement virtuelsource venv/bin/activate
–> activer l’environnementdeactivate
–> 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.