【问题标题】:Invalid Syntax: import TextBlob in python 2.6.6无效语法:在 python 2.6.6 中导入 TextBlob
【发布时间】:2017-05-05 07:47:15
【问题描述】:

我已经安装了 Python 2.6.6

我从Here下载了textblob包

我使用以下命令安装了包

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

这里有什么遗漏吗?

更新 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)
`

【问题讨论】:

  • 你单独安装了nltk吗?你是从哪里安装的?
  • 是的,我安装了 nltk 3.2.1,但现在我已将其删除。我正在安装 2.0.5 但遇到问题
  • 看我的回答。您还需要降级 TextBlob。

标签: python python-2.6


【解决方案1】:

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

编辑:在研究了TextBlobsetup.pyCHANGELOG.rst 文件后,如果你决定不升级你的Python,你可能还need to downgrade TextBlob to 0.8.4 来避免nltk&gt;=3.0 的依赖。

编辑 2:要解决 setuptools 错误,请改用 python distribute_setup.py

编辑3:如果您安装了TextBlob &lt;= 0.8.4,则不需要安装nltk。因为它包含 nltk 的供应商版本。

【讨论】:

  • 我认为你是对的,但如果那个 NLTK 版本不支持那个 Python 版本,那么有一个名为 nI ltk-3.2.1-py2.6.egg 的文件似乎很奇怪。
  • 我无法升级python
  • @Hardik 然后将nltktextblob 降级。
  • 安装了 textblob 0.8.4,下载并解压缩了 nltk 2.0.5 的 tar,然后尝试像这样安装 nltk python setup.py install 它给出了错误
  • @Hardik:这是一个新问题。试试python distribute_setup.py。总有一天你应该升级你的工具链。包distribute 已弃用多年。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 2017-06-22
相关资源
最近更新 更多