2014-12-18 4 views
2

Я установил питон + PyCuda (и другие библиотеки) по этой ссылке: http://wiki.tiker.net/PyCuda/Installation/Linuxпитона + PyCuda ошибка (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 
  • шесть установлен. Я не знаю, что мне делать!

ответ

2

В системе OSX мне удается решить проблему, обновив шесть пакетов через pip. А именно $ pip install six - upgrade

+0

Спасибо. Оно работает ;) – Saeed

3

Я видел эту ту же самую проблему на Ubuntu 14.04, но не хотел переопределять версию 6 из Ubuntu из-за множества проблем с изящной зависимостью. Мне показалось странным, что версия pytools в сообщении об ошибке (2014.3.5) не соответствует версии с Ubuntu apt repo (2013.5.7).

Оказалось, что я ранее пытался установить pycuda из источника, проверив репозиторий git. Я также предварительно установил pip. Поскольку pytools указан как требование в setup.py pycuda, pip установил свою версию pytools (2014.3.5). И именно здесь возникает несовместимость между шестью и pytools.

Чтобы решить проблему, я удалил как pycuda, так и pytools с помощью pip remove pycuda pytools, а затем установил pycuda с помощью apt-get, который затем автоматически установил совместимую версию pytools.

Просто хотел опубликовать это как альтернативное решение в случае, если кто-либо предпочитает хранить версию Ubuntu по умолчанию по умолчанию.

0

У меня была такая же ошибка на Ubuntu 14.04, но ни одна из вышеприведенных советов не работала. This page рекомендует отредактировать файл, вызывающий ошибку напрямую. Так я редактировал /usr/local/lib/python2.7/dist-packages/pytools/__init__.py и изменил строку:

from six.moves import range, zip, intern, input 

Into

try: 
    from six.moves import range, zip, intern, input 
except ImportError: 
    from six.moves import range, zip, input 

Не приятно редактирование включенной библиотеки файлов, но он получил по ошибке.

 Смежные вопросы

  • Нет связанных вопросов^_^