[Python] Come determinare le dipendenze di un progetto Python senza Pipfile o requirements.txt?

bruno bossola bbossola a gmail.com
Sab 11 Apr 2020 12:21:13 CEST


Ciao Jacopo,

Grazie, informazioni utilissime, ora mi leggo tutto! Essendo comunque il
nostro un prodotto commerciale devo seguire cosa mi dicono i clienti,
quindi come package manager devo rientrare nelle loro richieste... comunque
sicuramente implementeremo almeno uno che segua la PEP-517!

Ciao,

    Bruno

--
Bruno Bossola
CTO - meterian.io
Scan your website now! <https://www.meterian.com/webscanner.html>
Scan your project now! <https://www.meterian.com/projectscanner.html>


On Fri, 10 Apr 2020 at 19:40, Jacopo Cascioli <jacopo a jacopocascioli.com>
wrote:

> Ciao Bruno,
>
> Purtroppo Python ha un problema: il package management.
>
> In tempi recenti, la PEP-517 è stata approvata (
> https://www.python.org/dev/peps/pep-0517/) e quindi sono usciti altri
> package manager che lavorano sulla 517, come https://python-poetry.org e
> https://github.com/takluyver/flit
>
> Attenzione a pipenv, poichè non segue la PEP-517, ma viene comunque
> gestito dalla PyPA.
>
> Infine qui (https://www.pypa.io/en/latest/history/) puoi trovare un un
> po' di storia sul package management in Python.
>
> Jacopo Cascioli
>
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Friday 10 April 2020 15:04, bruno bossola <bbossola a gmail.com> wrote:
>
> Ciao a tutti,
>
> Riemergo sulla lista dopo qualche anno :) e come CTO di un'azienda.
> Meterian <https://www.meterian.com/>, che si occupa di sicurezza. In
> pratica il nostro tool, data una codebase, ne determina le dipendenze e
> verifica che nessuna di esse sia vulnerabile, out of date o che usi una
> licenza non business friendly. In pratica generiamo dei report tipo questo
> <https://www.meterian.com/projects/?pid=2285a757-857f-4bdf-9b5e-d1c5acb27751> o
> questo
> <https://www.meterian.com/projects/?pid=495ac650-b512-498d-b58b-fb5aff4d0320>
> .
>
> Abbiamo implementato il supporto per Python fino a un certo punto :), al
> momento supportiamo Pipfile e requirements.txt (dove usiamo comunque pipenv
> per rigenerare il Pipfile) ma direi che ci manca supporto a tutto il resto
> e siccome io non sono un esperto di Python (cioe', conosco il linguaggio ma
> professionalmente lo uso solo per scripting e QA al momento) avrei bisogno
> di aiuto :)
>
> Intravedo per ora altri tre altri fondamentali sistemi per dichiarare le
> dipendenze:
>
>    1. setup.py
>    2. Venv
>    3. Conda
>
> Per quanto riguarda *setup.py *credo sia sufficiente usare "python
> setup.py egg_info" che genera il file <name>.egg-info/requires.txt che a
> quel punto mi posso andare a leggere. Unica cosa che ho notato e' che non
> sempre le dipendenze dichiarano una versione, e poi non sono sicuro di
> riuscire a generare il grafo quindi.... boh.
>
> Per quanto riguarda *venv *se ho capito bene crea un virtual environment
> con tutto dentro, quindi dovrebbe bastare zomparci dentro e fare un pip
> freeze. Pero' mi mancherebbe il vero grafo delle dipendenze.
>
> Per *conda *mi sto ancora studiando il tooling, ma mi sembra si possa
> ottteere il grafo con "conda create --dry-run --json -n <package>" oppure
> con il nuovo
> comando "conda.models.dag" (che pero' non sono riuscito a fare funzionare.
>
> Se avete suggerimenti li apprezzo molto volentieri. E se volete usare il
> tool comunque e' gratis per progetti opensource :)
>
> Grazie in anticipo e buona Pasqua (anche se casalinga quest'anno!).
> Ciao,
>
>     Bruno
>
> --
> Bruno Bossola
> CTO - meterian.io
> Scan your website now! <https://www.meterian.com/webscanner.html>
>
> Scan your project now! <https://www.meterian.com/projectscanner.html>
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20200411/ce9b8843/attachment.html>


Maggiori informazioni sulla lista Python