[Distutils] development egg and --find-links easy_install option
Manlio Perillo
manlio.perillo at gmail.com
Sat May 22 22:39:34 CEST 2010
-----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/
setup.py
...
`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
Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkv4QQYACgkQscQJ24LbaUSJqwCeMEuPGWJHyUyVsSFuevw1V/n1
FBUAnA0XcskGAKwTbmN5tqEVLhhMtG3L
=G3Dn
-----END PGP SIGNATURE-----
More information about the Distutils-SIG
mailing list