0

导入时出现“无法导入名称 StringIO”错误消息dateutil,尝试导入StringIO但找不到。这是完整的跟踪:

(DEV)arbi@el-oued:~/Work/sentimentpy$ python core/main.py
Traceback (most recent call last):
  File "core/main.py", line 7, in <module>
    from io.reader import *
  File "/home/arbi/Work/sentimentpy/core/io/reader.py", line 4, in <module>
    from dateutil import parser
  File "/home/arbi/DEV/local/lib/python2.7/site-packages/dateutil/parser.py", line 22, in <module>
    from io import StringIO
ImportError: cannot import name StringIO

当我尝试使用python3 启动我的程序时,我遇到了这个错误:

(DEV)arbi@el-oued:~/Work/sentimentpy$ python3 core/main.py
Traceback (most recent call last):
  File "core/main.py", line 1, in <module>
    from analyzer.length import LengthAnalyzer
  File "/home/arbi/Work/sentimentpy/core/analyzer/length.py", line 4, in <module>
    from numpy
ImportError: No module named numpy

为什么我有这个?我已经numpy在我的 virtualenv 中安装了:pip install numpy

4

1 回答 1

3

You are masking the built-in io module because you have a package named io in your project:

Traceback (most recent call last):
  File "core/main.py", line 7, in <module>
    from io.reader import *
  File "/home/arbi/Work/sentimentpy/core/io/reader.py", line 4, in <module>

The line from io import StringIO finds /home/arbi/Work/sentimentpy/core/io, not the built-in module.

Rename that package or move it into a new top-level package name that doesn't conflict.

Your second error is unrelated; you simply don't have numpy installed for Python 3.

于 2014-09-20T09:46:00.133 回答