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
, не понимая, как вы это сделаете).