我已经通过以下链接安装了python+pycuda (和其他库):http://wiki.tiker.net/PyCuda/Installation/Linux
但是当我运行测试程序时,它说:
Traceback (most recent call last):
File "test_driver.py", line 17, in <module>
import pycuda.gpuarray as gpuarray
File "/usr/local/lib/python2.7/dist-packages/pycuda-2014.1-py2.7-linux-x86_64.egg/pycuda/gpuarray.py", line 3, in <module>
import pycuda.elementwise as elementwise
File "/usr/local/lib/python2.7/dist-packages/pycuda-2014.1-py2.7-linux-x86_64.egg/pycuda/elementwise.py", line 34, in <module>
from pytools import memoize_method
File "/usr/local/lib/python2.7/dist-packages/pytools-2014.3.5-py2.7.egg/pytools/__init__.py", line 5, in <module>
from six.moves import range, zip, intern, input
ImportError: cannot import name intern发布于 2014-12-21 03:36:35
在OSX系统上,我设法通过pip升级六个软件包来解决这个问题。即$ pip安装6-升级
发布于 2015-03-18 15:03:17
我在Ubuntu14.04上看到了同样的问题,但我不想因为很多挑剔的依赖问题而忽略Ubuntu的6版本。我觉得奇怪的是,错误消息中的pytools版本(2014.3.5)与来自)的版本不匹配。
原来,我以前通过查看git存储库,试图从源代码中安装pycuda。我以前也安装过pip。由于pytools被列为pycuda的setup.py中的一个需求,pip安装了其版本的pytools (2014.3.5)。这就是6和pytools之间不兼容的根源所在。
为了解决这个问题,我使用pip remove pycuda pytools卸载了pycuda和pytools,然后使用apt-get安装了pycuda,然后自动安装了兼容版本的pytools。
我只是想把它作为另一种解决方案,以防其他人喜欢保留默认的Ubuntu版本6。
发布于 2016-07-20 15:55:42
我在Ubuntu14.04上也有同样的错误,但是上面的提示都不起作用。此页建议直接编辑导致错误的文件。因此,我编辑了/usr/local/lib/python2.7/dist-packages/pytools/__init__.py并修改了行:
from six.moves import range, zip, intern, input转到
try:
from six.moves import range, zip, intern, input
except ImportError:
from six.moves import range, zip, input不太好的编辑包括库文件,但它避免了错误。
https://stackoverflow.com/questions/27549977
复制相似问题