By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,050 Members | 1,009 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,050 IT Pros & Developers. It's quick & easy.

import conflict

P: n/a
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!

May 7 '07 #1
Share this Question
Share on Google+
3 Replies


P: n/a
rp*******@sneakemail.com schrieb:
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

May 7 '07 #2

P: n/a
rp*******@sneakemail.com schrieb:
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
May 7 '07 #3

P: n/a
<rp*******@sneakemail.comwrote:
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
May 7 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.