codingknob codingknob - 17 days ago 5
Python Question

python: pandas install errors

I have the academic distribution of

EPD 7.1
for
MacOS 10.6.x
, which has pandas
0.3
version. The latest official version is
0.5.0
so I though I would upgrade to the latest.

Here is what I did:


  1. saved the
    zip
    file of the source from here

  2. executed
    sudo python setup.py install

  3. ran tests by executing
    nosetests pandas



Please keep in mind I am a total newbie to python. Any insights on why my install failed would be greatly appreciated. Below is a snippet of the errors. The entire log can be found at Error log

Results:

Ran 1498 tests in 55.011s
FAILED (SKIP=4, errors=91, failures=14)

======================================================================
ERROR: test_generate (test_daterange.TestGeneration)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/core/tests/test_daterange.py", line 20, in test_generate
rng2 = list(generate_range(START, END, timeRule='WEEKDAY'))
TypeError: generate_range() got an unexpected keyword argument 'timeRule'


@wesm - thanks for your quick reply. Next time I will definitely use the mailing list. So I actually backtracked... installed the official 0.5.0 release and compiled from source. I received 3 errors (see below). I did not experience any problems running
sudo python setup.py install


======================================================================
ERROR: testForSeries (pandas.stats.tests.test_ols.TestPanelOLS)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/tests/test_ols.py", line 472, in testForSeries
self.series_x, self.series_y)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/tests/test_ols.py", line 565, in checkForSeries
reference = ols(y=series_y, x=series_x, **kwds)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/interface.py", line 133, in ols
return klass(**kwargs)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/ols.py", line 36, in __init__
import scikits.statsmodels.api as sm
ImportError: No module named api

======================================================================
ERROR: testNonPooled (pandas.stats.tests.test_ols.TestPanelOLS)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/tests/test_ols.py", line 522, in testNonPooled
self.checkNonPooled(y=self.panel_y, x=self.panel_x)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/tests/test_ols.py", line 528, in checkNonPooled
result = ols(y=y, x=x, pool=False, **kwds)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/interface.py", line 133, in ols
return klass(**kwargs)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/plm.py", line 780, in __init__
nw_overlap=nw_overlap)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/interface.py", line 133, in ols
return klass(**kwargs)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/ols.py", line 36, in __init__
import scikits.statsmodels.api as sm
ImportError: No module named api

======================================================================
ERROR: test_auto_rolling_window_type (pandas.stats.tests.test_ols.TestPanelOLS)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/tests/test_ols.py", line 604, in test_auto_rolling_window_type
window_model = ols(y=y, x=data, window=20, min_periods=10)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/interface.py", line 133, in ols
return klass(**kwargs)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/ols.py", line 521, in __init__
OLS.__init__(self, y=y, x=x, **self._args)
File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/pandas/stats/ols.py", line 36, in __init__
import scikits.statsmodels.api as sm
ImportError: No module named api

Answer

The problem was resolved by:

1) installing the pandas 0.6.0 release which Wes made available November 25/2011.

2) removing the existing scikits package, which is bundled with EPD 7.1 (version 0.2) and installing the latest release using 'easy_install -U scikits.statsmodels'.

The above were suggestions made by Wes and folks on the pystatsmodel mailing list (thank you to all).