import conflict

R

rplzqx402

Hello,

I have a problem where I need to set up two separate Python projects
that each live under the same package. Once they are distributed,
they will live under the same filesystem path, but during development,
they are separated.

For example:
proj1/lib/pkg/foo/mod1.py
proj2/lib/pkg/bar/mod2.py

Furthermore, proj1 is dependent on proj2, so I want to be able to say
things like this, from within proj1:

import pkg.foo.mod1
import pkg.bar.mod2

Of course this doesn't work, even with a PYTHONPATH configured to see
both projects, because it will find 'pkg' in proj1/lib and so pkg.bar
will be hidden from view.

Any suggestions?

Thanks!
 
S

Stefan Sonnenberg-Carstens

Hello,

I have a problem where I need to set up two separate Python projects
that each live under the same package. Once they are distributed,
they will live under the same filesystem path, but during development,
they are separated.

For example:
proj1/lib/pkg/foo/mod1.py
proj2/lib/pkg/bar/mod2.py

Furthermore, proj1 is dependent on proj2, so I want to be able to say
things like this, from within proj1:

import pkg.foo.mod1
import pkg.bar.mod2

Of course this doesn't work, even with a PYTHONPATH configured to see
both projects, because it will find 'pkg' in proj1/lib and so pkg.bar
will be hidden from view.

Any suggestions?

Thanks!
Hi,
my only suggestion would be to overthink your project organization.
You can surely solve that problem with symlinks, but if they depend
on another, perhaps the structure is not optimal.
If you use python 2.5 you can try absolute imports (which I personally
find not so well):

from __future__ import absolute_import

See here: http://python.mirrors-r-us.net/dev/peps/pep-0328/

Cheers,
Stefan
 
S

Stefan Sonnenberg-Carstens

Hello,

I have a problem where I need to set up two separate Python projects
that each live under the same package. Once they are distributed,
they will live under the same filesystem path, but during development,
they are separated.

For example:
proj1/lib/pkg/foo/mod1.py
proj2/lib/pkg/bar/mod2.py

Furthermore, proj1 is dependent on proj2, so I want to be able to say
things like this, from within proj1:

import pkg.foo.mod1
import pkg.bar.mod2

Of course this doesn't work, even with a PYTHONPATH configured to see
both projects, because it will find 'pkg' in proj1/lib and so pkg.bar
will be hidden from view.

Any suggestions?

Thanks!
Hi,
my only suggestion would be to overthink your project organization.
You can surely solve that problem with symlinks, but if they depend
on another, perhaps the structure is not optimal.
If you use python 2.5 you can try absolute imports (which I personally
find not so well):

from __future__ import absolute_import

See here: http://python.mirrors-r-us.net/dev/peps/pep-0328/

Cheers,
Stefan
 
A

Alex Martelli

Hello,

I have a problem where I need to set up two separate Python projects
that each live under the same package. Once they are distributed,
they will live under the same filesystem path, but during development,
they are separated.

For example:
proj1/lib/pkg/foo/mod1.py
proj2/lib/pkg/bar/mod2.py

Furthermore, proj1 is dependent on proj2, so I want to be able to say
things like this, from within proj1:

import pkg.foo.mod1
import pkg.bar.mod2

Of course this doesn't work, even with a PYTHONPATH configured to see
both projects, because it will find 'pkg' in proj1/lib and so pkg.bar
will be hidden from view.

proj1/lib/pkg/__init__.py (and its counterpart under proj2) might set
their __path__ as to "merge" the two separate directories when seen as
Python packages. A rather contorted "solution" (compared to the simple
and obvious one of NOT "separating during development" parts that appear
to be so closely entwined) but I think it would work.


Alex
 
D

Dennis Lee Bieber

Hello,

I have a problem where I need to set up two separate Python projects
that each live under the same package. Once they are distributed,
they will live under the same filesystem path, but during development,
they are separated.

For example:
proj1/lib/pkg/foo/mod1.py
proj2/lib/pkg/bar/mod2.py
That does not fit your text description "two separate ... under the
same package."

Your text description implies something like

lib/pkg/proj1/foo/...
lib/pkg/proj2/bar/...
--
Wulfraed Dennis Lee Bieber KD6MOG
(e-mail address removed) (e-mail address removed)
HTTP://wlfraed.home.netcom.com/
(Bestiaria Support Staff: (e-mail address removed))
HTTP://www.bestiaria.com/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,835
Latest member
KetoRushACVBuy

Latest Threads

Top