2015-11-09 7 views
1

У меня есть некоторые проблемы, чтобы исправить. Я использую Python 3.2 с pyvisa для Python 3.2 32bits. Когда я использовал:Модуль ENUM и модуль cStringIO в PYVISA

import pyvisa 

Он отображается:

ImportError: No module named enum 

Но когда я использую:

import pyqtgraph, pyvisa 

я получаю:

ImportError: No module named cStringIO 

Я просто хочу, чтобы использовать pyvisa для используя Agilent 33250a от GPIB.

ответ

0

enum module не был частью Python до Python 3.4, поэтому 3.2 слишком рано; вам необходимо обновить, или вам нужно жить без enum (вам стоит усовершенствовать усовершенствование, производительность и функции Python заметно улучшились с тех пор, в частности, в производительности, strings and user defined class instances dramatically reduced their memory overhead). Я предполагаю, что pyvisa потерял поддержку версий Python старше 3.4, если они зависят от enum.

cStringIO - это только модуль ускорителя Python 2.x для StringIO; в Python 3.0 и выше вы просто импортируете io и используете io.StringIO, и он будет автоматически использовать ускоренный код C под капотом, если он доступен, и чистый код Python. Если вы используете только Python 3, просто сделайте import io или from io import StringIO. Для кода, который должен работать на обеих Python 2 и Python 3, и использовать str в обоих, вы можете сделать следующее для импорта:

try: 
    from cStringIO import StringIO # Py2 C accelerated version 
except ImportError: 
    try: 
     from StringIO import StringIO # Py2 fallback version 
    except ImportError: 
     from io import StringIO # Py3 version 

Если вы хотите обработать текст Unicode независимо от версии Python (ну, в 2,6 и выше), вы можете просто использовать только io.StringIO; он работает с unicode в Py2 и str в Py3, что означает, что он обрабатывает весь текст в обеих версиях (где cStringIO обрабатывает только str в Py2, поэтому он не может обрабатывать весь диапазон Unicode).

Я подозреваю, что ваша другая ошибка импорта для pyqtgraph будет потому, что вы попытались установить версию pyqtgraph, написанную для Python 2; страница pyqtgraph претендует на совместимость с Python 3.x и использование cStringIO без резервного копирования, не соответствует этой заявке, поэтому либо вы установили неверную версию, либо были установлены неправильно (например, если они использовали единую базу кода и 2to3 -ing это, но вы каким-то образом установили его без 2to3, не понимая, как вы это сделаете).

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

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