From: Jeff W. <js...@fa...> - 2013-07-06 17:59:27
|
> Thomas Kluyver <mailto:th...@kl...> > July 6, 2013 11:26 AM > > *distribute*, which was a fork of setuptools, was merged into > setuptools. *distutils* is the component in the standard library, and > is still there. I still prefer distutils where possible, precisely > because setuptools' eggs are a mess. > > Thomas 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? -Jeff > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > Damon McDougall <mailto:dam...@gm...> > July 6, 2013 11:20 AM > > > > On Sat, Jul 6, 2013 at 11:04 AM, Jeff Whitaker <js...@fa... > <mailto:js...@fa...>> wrote: > >> Damon McDougall <mailto:dam...@gm...> >> 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:ef...@ha...> >> 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:js...@fa...> > July 6, 2013 10:04 AM >> Damon McDougall <mailto:dam...@gm...> >> 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:ef...@ha...> >> 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > Damon McDougall <mailto:dam...@gm...> > 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:ef...@ha...> > 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 > > ------------------------------------------------------------------------ |