[AVVISO] Che software installare: Anaconda + librerie

andrea.sterbini (167420 points)
488 897 1726
asked Sep 25, 2018 in Avvisi by andrea.sterbini (167,420 points)
reopened Sep 12, 2019 by andrea.sterbini

Distribuzione di Python usata nel corso: Anaconda

Per svolgere le esercitazioni, gli homework e gli esami usiamo la distribuzione di Python che potete scaricare da www.anaconda.com/download e che contiene:

NOTA: nella installazione di Anaconda scegliete l'opzione "Only for me"

Librerie necessarie/utili per il corso

Una volta installato Anaconda potete/dovete installare queste librerie aggiuntive

Libreria A che serve Istallazione in Anaconda Prompt Istallazione in Python3 Come si usa
ddt Eseguire test con dati presi da file conda install -c conda-forge ddt pip install ddt Viene importata dai test
pytest-timeout Applicare un timeout a ciascun test conda install pytest-timeout pip install pytest-timeout aggiunge il parametro --timeout=<secondi> al comando pytest
spyder-unittest Lanciare i test da dentro Spyder conda install -c conda-forge spyder-unittest pip install spyder-unittest aggiunge un tab in Spyder per lanciare i test (scegliete pytest e la directory)
radon Calcolare l'intricatezza del codice conda install -c conda-forge radon pip install radon radon cc -a -s --show-closures program0X.py
Notepad è da buttare, non lo usate non mostra i '\n' NON LO USATE
Spyder OK
Notepad++ OK
Wordpad OK
Beyond Compare Utilissimo per confrontare file di testo ed immagini https://www.scootersoftware.com/download.php

Per aggiornare tutte le librerie installate in Anaconda usate il comando (da lanciare dentro la finestra che si apre con "Anaconda Prompt")

  • conda update --all

Questo può essere necessario se Spyder smette di funzionare (dopo aver controllato in Gestione Programmi che il processo Spyder non si sia impallato)

Comandi vari

I test sono i metodi contenuti nel file test_0X.py che hanno il nome che inizia con 'test' e vengono automaticamente individuati ed eseguiti da pytest.

Per eseguire i test senza timeout usate uno dei comandi (il secondo elenca i tempi di esecuzione di ciascun test)

  • pytest test_0X.py
  • pytest test_0X.py -v --durations 0

Per eseguire uno specifico test invece che tutti

  • pytest -v text_0X.py -k <parte del nome del test>

Esempio: pytest test_01.py -k 2_valori -v

Per eseguire i test in modo da applicare il timeout ed elencare gli N test più lenti (con x=1,2,3 e T=timeout in secondi)

  • pytest -v test_0X.py --timeout T --durations N

Per calcolare l'intricatezza (complessità ciclomatica) del codice (quello che consideriemo nella classifica è l'intricatezza MASSIMA)

  • radon cc -a -s --show-closures program0X.py

Per calcolare il tempo di esecuzione complessivo del programma facendo la media su 3 run da 5 test

  • python -u -m timeit -v -v -v -v -n 5  -r 3  -s 'from test_0X import Test' 'Test.main()'

Please log in or register to answer this question.