导入numpy会导致ImportError:无法导入名称TestCase

时间:2013-10-23 14:44:12

标签: python numpy import

我正在使用远程桌面服务器,Windows XP Profesional。大约2小时前,numpy还在那里工作。我试图使用mulitprocessing.Pool()对一个for循环进行并行化,我一定做错了,因为经过一段时间后,有100个python.exe进程正在运行。我花了一些时间重新进入服务器,我想测试为什么所有这些进程都已完成。但是,我遇到了以下错误:

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\numpy\__init__.py", line 154, in <module>
    import add_newdocs
  File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>

    from numpy.lib import add_newdoc
  File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 4, in <module
>
    from type_check import *
  File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 8, in <modu
le>
    import numpy.core.numeric as _nx
  File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 45, in <modu
le>
    from numpy.testing import Tester
  File "C:\Python27\lib\site-packages\numpy\testing\__init__.py", line 8, in <mo
dule>
    from unittest import TestCase
ImportError: cannot import name TestCase

我可以导入unittest.py,但我无法导入TestCase:

>>> import unittest
>>> from unittest import TestCase
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name TestCase

我从Eclipse运行python时遇到的问题与从命令行运行它有同样的问题。但是,当使用不同的Python(也是2.7,但是32位)时,它确实有效。

我首先尝试重新安装numpy,但这并没有解决问题。我找到的唯一其他解决方案是the answerthis question。但是,我查看并删除了所有unittest.py文件,我仍然遇到同样的问题。我不知道下一步该尝试什么。

1 个答案:

答案 0 :(得分:7)

(从评论中移动)

显然,.pyc个文件可能会过时。引用 http://nedbatchelder.com/blog/201310/finding_stale_pyc_files.html

  

最近我正在调试其中一个&#34;它不会发生&#34;差不多   问题,并希望确保我没有任何陈旧的.pyc文件   躺在那里。

因此,首先要尝试检查输入的确切内容:print(unittest.__file__)。您已检查过它在工作目录中不是流浪unittest.py。好。如果它是.pyc文件,请尝试删除它。没有任何伤害,它会在您下次导入时重新生成。

我承认我没有明智的回答“为什么&#39;题。如果有任何比我更有知识的人可以回答它,我很高兴地投票并删除这个答案。