Voici quelques différents paquets Python mon entreprise « foo.com » utilise:Diviser la source Python en répertoires séparés?
com.foo.bar.web
com.foo.bar.lib
com.foo.zig.web
com.foo.zig.lib
com.foo.zig.lib.lib1
com.foo.zig.lib.lib2
Voici la manière traditionnelle de stocker la source sur le disque:
pysrc/
com/
foo/
bar/
web/
lib/
zig/
web/
lib/
lib1/
lib2/
PYTHONPATH=pysrc
Mais pour des raisons d'organisation (équipes différentes, différents contrôle de révision, etc.), nous voulons stocker ces derniers comme suit:
bar/
pysrc/
com/
foo/
bar/
web/
lib/
zig/
pysrc/
com/
foo/
zig/
web/
lib/
lib1/
lib2/
PYTHONPATH=bar/pysrc:zig/pysrc
La question est:
Y a-t-il des problèmes avec cette deuxième méthode d'organisation? Par exemple, si nous import com.foo
, où Python chercherait-il le __init__.py
?
Est-ce que le symblage de ces répertoires aurait du sens? par exemple:
pysrc/
com/
foo/
bar/ -> symlink to /bar/pysrc/com/foo/
zig/ -> symlink to /zig/pysrc/com/foo/
Toute suggestion d'organisation de code générale est la bienvenue.
double possible de [modules Python accès du paquet qui est distribué sur différents répertoires] (http://stackoverflow.com/questions/2847146/python-accessing-modules-from-package-that-is-distributed-over-different-director) –
@Ignacio: Merci, je n'ai pas vois celui-là. J'ai ajouté ici la question à propos de symlinking, qui n'a pas été discutée dans l'autre, et qui semble être une solution viable. – dkamins
Cela fonctionne en Python 3.3+, voir http://stackoverflow.com/a/17202582/851737 – schlamar