<div dir="ltr">Ciao,<br><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 21 giugno 2017 08:24, Karim <span dir="ltr"><<a href="mailto:lemieliste@gmail.com" target="_blank">lemieliste@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:verdana,sans-serif">Salve lista, sono talmente abituato ad usare django che ora che devo farmi un package che avrei il piacere di distribuire, mi scontro con problemi banalissimi.</div><div> <br></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Ho creato questo package</div><div style="font-family:verdana,sans-serif"><br></div><div><div style="font-family:verdana,sans-serif">pyfaction/</div><div style="font-family:verdana,sans-serif">├── __init__.py</div><div style="font-family:verdana,sans-serif">├── __pycache__</div><div style="font-family:verdana,sans-serif">├── conn.py</div><div style="font-family:verdana,sans-serif">├── constants.py</div><div style="font-family:verdana,sans-serif">├── exceptions.py</div><div style="font-family:verdana,sans-serif">├── managers</div><div style="font-family:verdana,sans-serif">│   ├── __init__.py</div><div style="font-family:verdana,sans-serif">│   ├── __pycache__</div><div style="font-family:verdana,sans-serif">│   ├── apps.py</div><div style="font-family:verdana,sans-serif">│   ├── base.py</div><div style="font-family:verdana,sans-serif">│   ├── domains.py</div><div style="font-family:verdana,sans-serif">│   └── tests</div><div style="font-family:verdana,sans-serif">│       ├── __init__.py</div><div style="font-family:verdana,sans-serif">│       ├── __pycache__</div><div style="font-family:verdana,sans-serif">│       ├── tests_apps.py</div><div style="font-family:verdana,sans-serif">│       └── tests_domains.py</div><div style="font-family:verdana,sans-serif">└── utils.py</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">se sono sul modulo conn.py e faccio:</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">    from .managers.apps import MyClass</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Tutto e' ok.</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Se da managers/domains faccio:</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">    from ..exceptions import MyException</div></div></div></blockquote><div><br></div><div dir="ltr">Anche se stai facendo un riferimento verso un modulo interno del tuo package credo che in questo caso sarebbe meglio usare from pyfaction.exceptions import MyException; quando il package sarà finito e installato in site-packages questo dovrebbe funzionare "normalmente" mentre in fase di sviluppo credo ti convenga lavorare con PYTHONPATH<br><br></div></div>in alcuni casi, specialmente per le fasi di sviluppo e test, ho trovato comodo aggiungere il parent della directory del package al sys.path in questo modo<br><span class="gmail-pl-k"><br>import</span> <em>sys</em><br><em>sys</em>.path.append(<span class="gmail-pl-s"><span class="gmail-pl-pds">'</span>..<span class="gmail-pl-pds">'</span></span>)<br><br></div><div class="gmail_extra">questo perchè avevo bisogno di avere il package visibile ad un progetto di test che lo avrebbe usato, immagina una struttura del genere<br></div><div class="gmail_extra">mypackage<br></div><div class="gmail_extra">  - __init__.py<br></div><div class="gmail_extra">  - somecode.py<br></div><div class="gmail_extra">exampleproject<br></div><div class="gmail_extra">  - myexamplecode.py<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">cmq dipende molto da come è impostato il tuo progetto<br></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">"Unix IS user friendly. It's just selective about who its friend are"<br><br>"Nevertheless I still think it’s a bad idea to make things harder for ourselves
if we can avoid it."<br><span><br>"C is quirky, flawed, and an enormous success."<br>                                   -- Dennis Ritchie<br></span><br><span>"Shipping is a feature. A really important feature. Your product must have it."<br><br>"</span><span>There is no such a thing as a temporary change or workaround: In most cases, workarounds are tech debt."<br><br></span></div><div>"La gatta frettolosa ha fatto i gattini ciechi"<br><br></div></div></div></div></div></div></div></div></div></div>
</div></div>