2016-12-20 6 views
2

У меня есть Python 2.6.6 установленInvalid Синтаксис: импорт TextBlob в питон 2.6.6

Я скачал пакет textblob из Here

Я установил пакет, используя следующую команду

python setup.py install 

Внутри моих сайтов-пакетов я вижу следующее яйцо

textblob-0.11.1-py2.6.egg 

Однако, когда я импортировать пакет, он дает мне следующее сообщение об ошибке

> from textblob import TextBlob 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.6/site-packages/textblob-0.11.1-py2.6.egg/textblob/__init__.py", line 9, in <module> 
    from .blob import TextBlob, Word, Sentence, Blobber, WordList 
    File "/usr/lib/python2.6/site-packages/textblob-0.11.1-py2.6.egg/textblob/blob.py", line 28, in <module> 
    import nltk 
    File "/usr/lib/python2.6/site-packages/nltk-3.2.1-py2.6.egg/nltk/__init__.py", line 114, in <module> 
    from nltk.collocations import * 
    File "/usr/lib/python2.6/site-packages/nltk-3.2.1-py2.6.egg/nltk/collocations.py", line 38, in <module> 
    from nltk.util import ngrams 
    File "/usr/lib/python2.6/site-packages/nltk-3.2.1-py2.6.egg/nltk/util.py", line 1361 
    d = {k: _default_to_regular(v) for k, v in d.items()} 
           ^
SyntaxError: invalid syntax 

Есть ли что-нибудь не хватает?

UPDATE 1:

Я установил успешно textblob 0.8.4

При установке NLTK 2.0.5, я получаю следующее сообщение об ошибке

Команда:

python setup.py install 

Ошибка :

`Installed /usr/lib/python2.6/site-packages/distribute-0.6.21-py2.6.egg 
Traceback (most recent call last): 
    File "setup.py", line 69, in <module> 
    test_suite = 'nltk.test.simple', 
    File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup 
    dist.run_commands() 
    File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands 
    self.run_command(cmd) 
    File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command 
    cmd_obj.run() 
    File "build/bdist.linux-x86_64/egg/setuptools/command/install.py", line 73, in run 
    File "build/bdist.linux-x86_64/egg/setuptools/command/install.py", line 101, in do_egg_install 
    File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 345, in run 

    File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 565, in easy_install 

    File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 617, in install_item 

    File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 664, in process_distribution 

TypeError: __init__() takes exactly 2 arguments (4 given) 
` 
+1

Вы установили nltk отдельно? Откуда вы его установили? – BrenBarn

+0

Да, я установил nltk 3.2.1, но теперь я удалил его. Я устанавливаю 2.0.5, но сталкиваюсь с проблемами в нем –

+1

См. Мой ответ. Вам также необходимо понизить TextBlob. –

ответ

3

nltk-3.2.1 не поддерживает Python 2.6 (SyntaxError связан с тем, что dictionary comprehension was not yet introduced to Python until 2.7). Либо обновление Python 2.7 или понижая nltk к 2.0.5:

pip install nltk==2.0.5 

Edit: После того, как исследовал TextBlob «s setup.py и CHANGELOG.rst файлов, то получается, вы, вероятно, также need to downgrade TextBlob to 0.8.4, чтобы избежать зависимости от nltk>=3.0, если вы не решили обновите свой Python.

Редактировать 2: Чтобы решить ошибку setuptools, вместо этого используйте python distribute_setup.py.

Редактировать 3: Вам не нужно устанавливать nltk, если вы установили TextBlob <= 0.8.4. Потому что он содержит версию nltk.

+2

Я думаю, что вы правы, но кажется странным, что есть файл под названием 'nI ltk-3.2.1-py2.6.egg', если эта версия NLTK не поддерживает эту версию Python. – BrenBarn

+0

Я не могу обновить python –

+1

@Hardik затем понижает как 'nltk', так и' textblob'. –

Смежные вопросы