I think this stack overflow question [1] sort of sums up the problem -- setuptools develop is kind of a hack and only really works if the source structure matches the installed structure. That used to be true of matplotlib, but installing different packages based on the Python version breaks that assumption.

A suggestion in the Stack Overflow entry is to install symlinks to fix this, and indeed doing this works:

   cd lib
   ln -s dateutil_py2 dateutil

We can probably automate this in the setupegg.py script, but I don't think I'll have a chance to get to this today. We can't just include the symlink in git, since it should point to the version that corresponds to the user's Python.

[1] http://stackoverflow.com/questions/6019042/is-there-a-way-to-add-a-namespace-prefix-setuptools-package-distributions

Mike

On 10/10/2012 08:50 AM, Michael Droettboom wrote:
This is related to using develop mode. I never use that (I use virtualenvs instead), so this doesn't get much testing. This seems to have broken when we started to ship separate versions of dateutil for python2 and python3. setuptools doesn't seem to like the fact that we rename dateutil_py2 to dateutil when installing (since in develop mode it doesn't really install or move anything). That's problematic, of course. I'll have to see if there's another way to handle this.

Mike

On 10/09/2012 09:36 PM, Gökhan Sever wrote:
Hello,

With a fresh

git clone git://github.com/matplotlib/matplotlib.git <http://github.com/matplotlib/matplotlib.git>
sudo python setupegg.py develop

Starting ipython --pylab I get this error:

.../matplotlib/lib/matplotlib/dates.py in <module>()
    120 import matplotlib.ticker as ticker
    121
--> 122 from dateutil.rrule import rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY, \
    123      MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY
    124 from dateutil.relativedelta import relativedelta

ImportError: No module named dateutil.rrule


Installing dateutil 1.5 fixes this.

mpl install log shows the following:

OPTIONAL DATE/TIMEZONE DEPENDENCIES
              dateutil: matplotlib will provide
                  pytz: matplotlib will provide

Will dateutil be shipped with mpl or this line needs to be updated?

Thanks.


--
Gökhan


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev


_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users



------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev


_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to