Il giorno 9 febbraio 2018 11:03, Piergiorgio Pancino < piergiorgio.panc...@gmail.com> ha scritto:
> Da quanto ho capito nel momento in cui un utente vorrà installare il > package, setup.py si occupa di copiare ./lib/nomeprogetto nella cartella > site-packages/nomeprogetto, copiare gli scripts nella cartella scripts di > python eccetera. In linea di principio è corretto? > Diciamo di sì, ma in realtà è setuptools a fare queste operazioni, ammesso che tu voglia usare setuptools. > Ora se io invece voglio contribuire allo sviluppo non capisco se posso > lasciare stare setup.py e lavorare nel cuore del codice che si trova > tipicamente all'interno di: > > /lib/nomeprogetto/.. > > quindi per testare il codice in locale mentre lo sto modificando faccio > semplicemente: > export PYTHONPATH=/home/usr/nomeprogetto/lib > e poi lancio unittest all'interno della cartella: > > /homeprogetto/lib/nomeprogetto/test/ > > E' corretto questo approccio? Posso aspettarmi che i miei test abbiano > tutti i path settati corramente? Oppure dovrei ogni volta che faccio una > modifica al codice dovrei reinstallare con setup.py e rilanciare i test? > L'approccio che dici tu va bene, ma forse è più comodo installare il package in modalità editabile con pip: pip install -e . (dove il punto indica il progetto corrente), cosa che equivale ad usare il setuptools "development mode" <https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode> . Lo stato dei vari tool per il packaging in Python ha una vita un po' travagliata, ma si sta stabilizzando. A volte si trovano delle guide non aggiornate che possono essere fuorvianti. Un buon punto di partenza è la PyPA (Python Packaging Authority): https://packaging.python.org/ Attualmente i tool raccomandati sono: - pip - wheel - setuptools - Pipenv Ciao, Marco -- |_|0|_| |_|_|0| |0|0|0|
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python