-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
P.J. Eby ha scritto:
At 05:55 PM 5/22/2010 +0200, Manlio Perillo wrote:
What is the reason why a development egg is being skipped?
Because it can't be copied (currently),
And I usually don't need it to be copied, since on the production server I will install these package by hand, from a Mercurial working copy.
and the -a flag in your -maxd means "--always-copy" -- that is, copy the egg, even if it's on sys.path.
What I want is that in `deps` directory should copied all "normal" packages, as eggs, that are install requirements for package A or, indirectly, package B.
Is this possible?
Yes, just build eggs for your local packages and place them somewhere accessible to --find-links. Alternatively, ensure that all needed packages are on sys.path, and use -mxd instead of -maxd. (i.e., allow setuptools to *not* copy things that are already available on sys.path.)
But the idea was to copy all required packages to a common directory, so that I can create a tar archive from this directory and use it on the production server.
And to have this done automatically, without having to build each required package.
The needed packages are usually already on sys.path, since they have been installed the first time I executed "python setup.py develop" for my package, on my development machine.
The trivial solution is of course to not use "develop" command, and to build a normal egg.
I would like that setuptools will just copy the .egg-info file, *making sure* to use a relative path instead of an absolute path.
As an example, using virtualenv I have this layout:
A/ env/ bin/ include/ lib/ hg/ B/ deps/
`env` is the virtual environment.
Inside the `hg` directory I have clones of the packages required by A and that are still under heavy development; these packages are installed using "develop" command.
Inside the `deps` directory, I have all the eggs required by A and B packages.
I copy all required eggs in this directory, using `-maxd` options, on my development machine. Then I create a tar archive, and, on the production server, I recreate the directory.
The virtual environment is recreated each time, I do not use the - --relocatable option.
If `-maxd` will make the B.egg-info file relative, then all I need to do is to `python setup.py develop` inside A directory, and B package should be correctly available.
Is this possible?
Thanks and sorry for the long message