Pytanie Importowanie pand pokazuje ImportError: nie można zaimportować nazwy hashtable


Mam zainstalowane pandy na Pythonie 3.3 i kodowane w ten sposób:

import csv
import pandas
from pandas import DataFrame

csvdata = pandas.read_csv('datafile.csv')
df = DataFrame(csvdata)

Pojawia się następujący komunikat o błędzie:

cannot import name hashtable
Traceback (most recent call last):
  File "C:\Users\document\test4.py", line 5, in <module>
    import pandas
  File "C:\Python33\lib\site-packages\pandas\__init__.py", line 6, in <module>
    from . import hashtable, tslib, lib
ImportError: cannot import name hashtable

Czy ktoś może mi pomóc dowiedzieć się, jak rozwiązać ten błąd? Python i pandy zostały pomyślnie zainstalowane.


21
2018-01-20 08:48


pochodzenie


Panda nie została poprawnie zainstalowana - asheeshr
Otrzymuję ten sam błąd w WinPython (py3.4) czasami. - Winand


Odpowiedzi:


Aktualizacja: teraz zalecam zainstalowanie naukowego stosu Pythona przy użyciu Anakonda.

Panda jest dostarczana w pakiecie i można ją łatwo zaktualizować za pomocą conda:

conda update pandas

Jest również dostarczany w pakiecie z cython, scipy (który jest trudny do instalacji przez pip), statmodels i zarządza zależnościami / reationships pomiędzy tymi pakietami.

Warto podkreślić, że nie potrzebujesz dostępu administratora / sudo, aby zainstalować go na komputerze, aby zainstalować Anaconę.


Jeśli nie używasz Anacondy, zalecany sposób zainstaluj pandy jest przez pip (na Mac i Windows):

pip install pandas

W systemie Linux można również zainstalować za pomocą python-pandas w dowolnym repozytorium, ale pamiętaj, że możesz zainstalować starszą wersję pand, najlepiej powinieneś używać najnowszej stabilnej wersji.


Wygląda na to, że próbujesz instaluj ze źródła, o czym doktorowie wspominają:

Instalowanie z repozytorium git wymaga ostatniej instalacji Cythona, ponieważ źródła cytonizujące C nie są już sprawdzane w kontroli źródła. Wydane dystrybucje źródłowe będą zawierać zbudowane pliki C. Polecam instalowanie najnowszego Cythona przez easy_install -U Cython

Zauważ, że nie będzie można importować pand jeśli otworzysz interpreter w katalogu źródłowym chyba że zbudujesz rozszerzenia C w miejscu:

python setup.py build_ext --inplace

Bez kompilacji hashtables.pyx (i kilka innych plików cythonów), pandy nie mogą ich zaimportować. Są one wymagane w przypadku pand (co wyjaśnia komunikat o błędzie).

Uwaga: to komunikat o błędzie został bardziej opisowy dla wersji 0.11.1 lub nowszej, powie, że rozszerzenia C nie zostały zbudowane.


23
2018-01-20 19:37



Dzięki, że mnie powiadomiłeś, Andy. Szczerze mówiąc, nie wiem od czego zacząć od sugestii "pandy instalującej paczki". Gdzie i jakiej aplikacji muszę używać tekstu? Ponieważ dopiero zacząłem uczyć się Pythona, potrzebuję szczegółowych instrukcji krok po kroku. Daj mi znać, jak to zrobić. Dzięki, - sky404
@ sky404 Widziałeś to pytanie? Mam nadzieję, że to pomoże! - Andy Hayden
Zainstalowałem za pomocą pip, ale nadal otrzymuję ten sam błąd. Używam małego serwera WWW przy użyciu Pythona i chcę używać pand. Błąd pojawi się na mojej stronie internetowej. Jeśli spróbuję "importować pandy" z lokalnego pythona, otrzymam inny błąd: SyntaxError: przyszły element unicode_literals nie jest zdefiniowany - danioyuan
Nie jestem pewien, czy byłoby to przydatne dla każdego, ale używając easy_install -U Cython zamiast instalacji pip Cython pozwolił mi zainstalować ze źródła na Win 8.1 64 - sk8asd123
"Cytologia ulepszania conda" zadziałała dla mnie - Dylan_Larkin


Pandon Python 3.3 tutaj http://www.lfd.uci.edu/~gohlke/pythonlibs/ wydaje się, że nie została skompilowana pomyślnie. Nie miałem czasu, aby skonfigurować maszynę do budowania, aby tworzyć i testować pliki binarne Python 3.3, ale wiem, że działa ona na Pythonie 3.3 na innych platformach.


3
2018-02-09 19:41





Miałem ten sam problem, gdy próbowałem instalować pandy 0.13.1. Zainstalowano, ale nie mogłem go zaimportować.

Jak sugeruje @danioyuan, zainstalowałem Cythona za pomocą easy_install i teraz jestem w stanie zaimportować pandy.


1
2018-04-09 14:18



Lub tylko apt-get install cython - Cameron Taggart
Tak, działa w obie strony. Ale nie jestem pewien, dlaczego mam na to głosowanie: - / - Earnest_learner


Napotkałem ten sam problem. Zainstalowałem pandy przy użyciu pand instalujących polecenia.

Domyślnie moje PIP zainstalowane pandy w dist-pakietów Pythona3.2 i mojej domyślnej wersji Pythona było 2.7. W rezultacie, gdy zrobiłem Pythona, otworzyłem interaktywną powłokę i spróbowałem

 import pandas

 File "<stdin>", line 1, in <module>
 File "/usr/local/lib/python3.2/dist-packages/pandas/__init__.py", line 6, in <module>
 from . import hashtable, tslib, lib
 ImportError: cannot import name hashtable

Rozwiązałem mój problem:

 python3.2
 import pandas

Sprawdź, czy używasz tej samej wersji Pythona, której pakiety dystrybucyjne zawierają pandy.


0
2018-05-24 06:41