0

我很难安装 pycuda。我在 Ubuntu 12.04 上运行。我首先安装了 Enthought python 发行版(即使我已经在计算机上安装了 python)。我将 enthought python 位置添加到我的 .profile 的路径中(这可以正常工作,从命令行键入 python 或 ipython 正确使用 enthought 版本)。然后我按照http://wiki.tiker.net/PyCuda/Installation/Linux/Ubuntu的说明进行操作(跳过步骤 0-1,因为我已经安装了 numpy 和 cuda)。

一切似乎都可以正常运行和安装。但是当我尝试实际使用 pycuda 时,它失败了。例如,当我尝试运行 hello_gpu.py 示例时,会发生以下情况:

:~/Downloads/pycuda-2012.1$ python examples/hello_gpu.py 
Traceback (most recent call last):
  File "examples/hello_gpu.py", line 1, in <module>
    import pycuda.driver as drv
  File "/usr/lib/python_enthought/lib/python2.7/site-packages/pycuda-2012.1-py2.7-linux-        x86_64.egg/pycuda/driver.py", line 2, in <module>
    from pycuda._driver import *
ImportError: /usr/lib/libboost_python-py27.so.1.46.1: undefined symbol:         
PyUnicodeUCS4_FromEncodedObject

或者,当我尝试从空闲导入 pycuda 包时,我得到一个不同的错误:

Python 2.7.3 |EPD 7.3-1 (64-bit)| (default, Apr 11 2012, 17:52:16) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "credits", "demo" or "enthought" for more information.
>>> import pycuda
>>> pycuda
<module 'pycuda' from 'pycuda/__init__.pyc'>
>>> import pycuda.driver as drv
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pycuda/driver.py", line 2, in <module>
    from pycuda._driver import *
ImportError: No module named _driver

我怀疑问题的一部分是我在某个地方没有指定 python 解释器的正确路径,但我无法弄清楚这个错误发生在哪里。任何建议都会受到欢迎,我没有想法。

4

1 回答 1

0

此问题似乎是由同一系统上的两个不同 Python 安装之间的冲突引起的。OP 显然通过卸载 Enthough Python 安装并仅使用系统 Python 安装解决了这个问题。很可能还有其他方法可以使用非系统 Python 安装来解决这个问题,如此处所建议

[这个答案是从评论中收集起来的,并作为社区 wiki 条目添加,希望它能获得投票并从 PyCUDA 标签的未回答列表中删除]

于 2016-06-23T09:59:11.053 回答