2011-11-27 34 views
7

Tôi đang sử dụng PyCharm (1.5.4) làm IDE python của tôi trên MacOS 10.6.4. Tôi đang sửa đổi một số mã để thao tác dữ liệu giá cổ phiếu. Là một phần trong đó tôi muốn nhập dữ liệu giá từ yahoo bằng cách sử dụng chức năng DataReader đi kèm với Pandas 0.6.0. Mã này là như sau:PyCharm (1.5.4) và Pandas 0.6.0 - ImportError: Không có module có tên dữ liệu

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() 

Khi tôi chạy mã tôi nhận được lỗi sau:

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 

Tôi thấy rằng PyCharm không biết làm thế nào để unresolve tham chiếu 'dữ liệu '.

đường python của tôi được thiết lập như sau:

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'] 

gì là khó hiểu là PyCharm thể giải quyết pandas.stats.moments nhưng không thể giải quyết pandas.io.data. Tôi đã kiểm tra rằng cả hai thư mục đều có tệp __init__.py (các tệp này trống).

Tại thời điểm này, tôi không chắc chắn cách di chuyển tiếp. Rất cảm kích sự giúp đỡ.

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

Kiểm tra xem nó có nhập đúng phiên bản gấu trúc hay không bằng cách thực hiện 'nhập gấu trúc' và' gấu trúc .__ phiên bản__'. –

+0

@ThomasK - Tôi đã xóa phiên bản 0.3 ra trước khi cài đặt gấu trúc 0.6.0. Tôi vừa kiểm tra tệp __egginst __ .txt trong thư mục EGG-INFO và thông tin trên phiên bản trước được liệt kê thay vì 0.6.0. Xem cắt và dán đầu ra của tệp này trong bài đăng gốc đã cập nhật. – codingknob

+0

Tôi có nghĩa là tập tin '__egginst __. Txt'. Có đơn giản như chỉnh sửa tệp này và thay đổi thư mục phiên bản và gói trang web không? Tôi tự hỏi tại sao tệp này không được cập nhật khi tôi cài đặt gấu trúc 0.6.0. – codingknob

Trả lời

4

Có vẻ như xóa cấu hình python phiên dịch và tái cấu hình PyCharm của giải quyết vấn đề. Lạ ... nhưng cố định

Các vấn đề liên quan