I agree eggs are a mess. Given that it is still easy to have the old behavior, can someone explain why the change was made to have setup.py create eggs by default?
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options
Damon McDougall <mailto:damon.mcdougall@…149…>
July 6, 2013 11:20 AM
On Sat, Jul 6, 2013 at 11:04 AM, Jeff Whitaker <jswhit@...196... >> <mailto:jswhit@…196…>> wrote:
Damon McDougall <mailto:damon.mcdougall@…149…>
July 6, 2013 9:32 AM
If I do a clean install of mpl master, and then of basemap,
basemap
lands in dist-packages/mpl_toolkits, as it always has. But
now it is
not found--I can't import it. It seems that now the *real*
mpl_toolkits
is cleverly hidden inside an egg directory with a monstrous
name,
leaving basemap orphaned in a directory with no __init__.py.
As a
workaround I can symlink it into the egg location. I
suspect the real
solution will require basemap to use setuptools, correct? I
don't know
how to do this, so I hope someone who does will submit a PR.
Actually, using the new setuptools isn't adequate, I just tried
it locally on my machine and it still doesn't install itself
into the matplotlib egg.
I think the proper solution here is to add basemap as an
optional dependency to matplotlib and have the user set a flag
(off by default) to pull basemap if it's desired
Does that sound like a reasonable solution?
What if a user decides later that he/she wants to install
basemap? Then they would have to reinstall matplotlib? That
doesn't sound reasonable to me.
Actually, on reflection, I'm in agreement with you. I'm comfortable installing from source but this poses a larger problem when users download the basemap binary and expect it to Just Work.
How about having matplotlib install a symlink to the egg location?
If there's a way for setuptools to modify the matplotlib egg to add a symlink, then it must be possible for setuptools to just put the files there. I just haven't figured out how to do that.
Why the change to using setuptools by default in the first place?
Long story. The short story is that distutils was merged into setuptools. So setuptools is now the recommended way to install python packages.
-Jeff
P.S. Note that the other mpl_toolkits are installed into the
correct place because they are shipped with matplotlib and
installed at the same time. We could ship basemap with
matplotlib too but it's a rather large download.
Best wishes,
Damon
-- Damon McDougall
http://www.damon-is-a-geek.com
Institute for Computational Engineering Sciences
201 E. 24th St.
Stop C0200
The University of Texas at Austin
Austin, TX 78712-1229
Eric Firing <mailto:efiring@…229…>
July 6, 2013 12:53 AM
If I do a clean install of mpl master, and then of basemap,
basemap lands in dist-packages/mpl_toolkits, as it always has. But now it is not found--I can't import it. It seems that now
the *real* mpl_toolkits is cleverly hidden inside an egg
directory with a monstrous name, leaving basemap orphaned in a
directory with no __init__.py. As a workaround I can symlink it
into the egg location. I suspect the real solution will require
basemap to use setuptools, correct? I don't know how to do
this, so I hope someone who does will submit a PR.
Eric
------------------------------------------------------------------------
--
Damon McDougall
http://www.damon-is-a-geek.com
Institute for Computational Engineering Sciences
201 E. 24th St.
Stop C0200
The University of Texas at Austin
Austin, TX 78712-1229
Jeff Whitaker <mailto:jswhit@…196…>
July 6, 2013 10:04 AM
Damon McDougall <mailto:damon.mcdougall@…149…>
July 6, 2013 9:32 AM
If I do a clean install of mpl master, and then of basemap, basemap
lands in dist-packages/mpl_toolkits, as it always has. But now
it is
not found--I can't import it. It seems that now the *real*
mpl_toolkits
is cleverly hidden inside an egg directory with a monstrous name,
leaving basemap orphaned in a directory with no __init__.py. As a
workaround I can symlink it into the egg location. I suspect
the real
solution will require basemap to use setuptools, correct? I
don't know
how to do this, so I hope someone who does will submit a PR.
Actually, using the new setuptools isn't adequate, I just tried it locally on my machine and it still doesn't install itself into the matplotlib egg.
I think the proper solution here is to add basemap as an optional dependency to matplotlib and have the user set a flag (off by default) to pull basemap if it's desired
Does that sound like a reasonable solution?
What if a user decides later that he/she wants to install basemap? Then they would have to reinstall matplotlib? That doesn't sound reasonable to me.
How about having matplotlib install a symlink to the egg location?
Why the change to using setuptools by default in the first place?
-Jeff
P.S. Note that the other mpl_toolkits are installed into the correct place because they are shipped with matplotlib and installed at the same time. We could ship basemap with matplotlib too but it's a rather large download.
Best wishes,
Damon
--
Damon McDougall
http://www.damon-is-a-geek.com
Institute for Computational Engineering Sciences
201 E. 24th St.
Stop C0200
The University of Texas at Austin
Austin, TX 78712-1229
Eric Firing <mailto:efiring@…229…>
July 6, 2013 12:53 AM
If I do a clean install of mpl master, and then of basemap, basemap lands in dist-packages/mpl_toolkits, as it always has. But now it is not found--I can't import it. It seems that now the *real* mpl_toolkits is cleverly hidden inside an egg directory with a monstrous name, leaving basemap orphaned in a directory with no __init__.py. As a workaround I can symlink it into the egg location. I suspect the real solution will require basemap to use setuptools, correct? I don't know how to do this, so I hope someone who does will submit a PR.
Eric
------------------------------------------------------------------------
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options
Damon McDougall <mailto:damon.mcdougall@…149…>
July 6, 2013 9:32 AM
If I do a clean install of mpl master, and then of basemap, basemap
lands in dist-packages/mpl_toolkits, as it always has. But now it is
not found--I can't import it. It seems that now the *real*
mpl_toolkits
is cleverly hidden inside an egg directory with a monstrous name,
leaving basemap orphaned in a directory with no __init__.py. As a
workaround I can symlink it into the egg location. I suspect the
real
solution will require basemap to use setuptools, correct? I
don't know
how to do this, so I hope someone who does will submit a PR.
Actually, using the new setuptools isn't adequate, I just tried it locally on my machine and it still doesn't install itself into the matplotlib egg.
I think the proper solution here is to add basemap as an optional dependency to matplotlib and have the user set a flag (off by default) to pull basemap if it's desired.
Does that sound like a reasonable solution?
P.S. Note that the other mpl_toolkits are installed into the correct place because they are shipped with matplotlib and installed at the same time. We could ship basemap with matplotlib too but it's a rather large download.
Best wishes,
Damon
--
Damon McDougall
http://www.damon-is-a-geek.com
Institute for Computational Engineering Sciences
201 E. 24th St.
Stop C0200
The University of Texas at Austin
Austin, TX 78712-1229
Eric Firing <mailto:efiring@…229…>
July 6, 2013 12:53 AM
If I do a clean install of mpl master, and then of basemap, basemap lands in dist-packages/mpl_toolkits, as it always has. But now it is not found--I can't import it. It seems that now the *real* mpl_toolkits is cleverly hidden inside an egg directory with a monstrous name, leaving basemap orphaned in a directory with no __init__.py. As a workaround I can symlink it into the egg location. I suspect the real solution will require basemap to use setuptools, correct? I don't know how to do this, so I hope someone who does will submit a PR.
Eric
------------------------------------------------------------------------
Build for Windows Store.