2011-11-27 2 views
7

Я использую PyCharm (1.5.4) в качестве моей среды разработки python для MacOS 10.6.4. Я манипулирую каким-то кодом, чтобы манипулировать данными о ценах акций. В рамках этого я хочу импортировать данные о ценах из yahoo с помощью функции DataReader, которая поставляется с Pandas 0.6.0. Код выглядит следующим образом:PyCharm (1.5.4) и Pandas 0.6.0 - ImportError: Нет модуля с именем data

http://www.statalgo.com/2011/09/08/pandas-getting-financial-data-from-yahoo-fred-etc/

from pandas import ols, DataFrame 
from pandas.stats.moments import rolling_std 
from pandas.io.data import DataReader 
import datetime 

sp500 = DataReader("^GSPC", "yahoo", start=datetime.datetime(1990, 1, 1)) 
sp500_returns = sp500["adj clos"].shift(-250)/sp500["adj clos"] - 1 

gdp = DataReader("GDP", "fred", start=datetime.datetime(1990, 1, 1))["value"] 
gdp_returns = (gdp/gdp.shift(1) - 1) 
gdp_std = rolling_std(gdp_returns, 10) 
gdp_standard = gdp_returns/gdp_std 

gdp_on_sp = ols(y=sp500_returns, x=DataFrame({"gdp": gdp_standard})) 

sp500.plot() 
gdp.plot() 

Когда я запускаю код, я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "/Users/MyName/PycharmProjects/test/mytest", line 3, in <module> 
    from pandas.io.data import DataReader 
ImportError: No module named data 

Я вижу, что PyCharm не знает, как unresolve ссылку «данные ».

Мои питона пути устанавливаются следующим образом:

import sys 
from pprint import pprint as pp 
pp(sys.path) 

['/private/var/folders/st/stQUFIfOG28bmpY9dCspTk+++TI/-Tmp-', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/scikits.statsmodels-0.3.1-py2.7.egg', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python27.zip', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/plat-darwin', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/plat-mac', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/plat-mac/lib-scriptpackages', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/lib-tk', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/lib-old', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/lib-dynload', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages', 
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/PIL'] 

Что озадачивает, что PyCharm может решить pandas.stats.moments, но не может решить pandas.io.data. Я проверил, что оба каталога имеют файл __init__.py (файлы пустые).

На данный момент я не уверен, как двигаться вперед. Большое спасибо за помощь.

UPDATE:

$ cat __egginst__.txt 
# egginst metadata 
egg_name = 'pandas-0.3.0-3.egg' 
prefix = '/Library/Frameworks/EPD64.framework/Versions/7.1' 
installed_size = 1454562 
rel_files = [ 
'EGG-INFO/pandas/__egginst__.txt', 
'lib/python2.7/site-packages/pandas-0.3.0-3.egg-info', 
+0

Убедитесь, что он импортирует правильную версию панд, выполнив 'import pandas' и' pandas .__ version__'. –

+0

@ThomasK - Я вытер версию 0.3 перед установкой panda 0.6.0. Я только что проверил файл __egginst __. Txt в папке EGG-INFO, и вместо 0.6.0 указана информация о предыдущей версии. См. Вырезку и вставку вывода этого файла в обновленном исходном сообщении. – codingknob

+0

Я имел в виду файл '__egginst __. Txt'. Это так же просто, как редактирование этого файла и изменение каталога версии и сайта? Интересно, почему этот файл не был обновлен, когда я установил pandas 0.6.0. – codingknob

ответ

4

Похоже удаление конфигурации питон интерпретатора и повторное конфигурирование PyCharm в решить эту проблему. Странно ... но исправлено