Чтение данных из блока сбора данных (измерение вычислений)
У меня есть блок сбора данных (USB-2408 от Measurement Computing), и я пытаюсь написать код Python для отображения этих данных как можно ближе к реальному времени, но, очевидно, это ограничено, поэтому я возьму то, что смогу получить, Я столкнулся с человеком, который уже сделал это, почти.
Поэтому я нашел его PyUL-сайт и попробовал некоторые примеры кода, который у него был (скопировал и вставил его прямо в файл.py и бросил в мой соответствующий каталог. Когда я вызываю код через cmd (...\Python27\Lib\site-packages\sciypy>python example1.py
) Я получаю код ошибки:
C:\Program Files (x86)\Python27\Lib\site-packages\scipy>
Traceback (most recent call last):
File "daq-scipy1.py", line 3, in <module>
import UniversalLibrary as UL
File "C:\Program Files (x86)\Python27\lib\site-packaget__.py", line 36, in <module>
from UniversalLibrary import *
File "C:\Program Files (x86)\Python27\lib\site-packagersalLibrary.py", line 53, in <module>
import numpy
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\__init__.py", line 168, in <module>
from . import add_newdocs
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\lib\__init__.py", line 22, in <module>
from .npyio import *
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\lib\npyio.py", line 4, in <module>
from . import format
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\lib\format.py", line 141, in <module>
import io
File "C:\Program Files (x86)\Python27\Lib\site-packages\scipy\io\__init__.py" line 85, in <module>
from .matlab import loadmat, savemat, whosmat, byteo
File "C:\Program Files (x86)\Python27\Lib\site-packages\scipy\io\matlab\__init__.py", line 13, in <module>
from .mio import loadmat, savemat, whosmat
File "C:\Program Files (x86)\Python27\Lib\site-packages\scipy\io\matlab\mio.py", line 10, in <module>
from scipy.lib.six import string_types
File "C:\Program Files (x86)\Python27\lib\site-packages\scipy\__init__.py", line 77, in <module>
from numpy import oldnumeric
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\oldnumeric\__init__.py", line 24, in <module>
from .compat import *
File "C:\Program Files (x86)\Python27\lib\site-package\numpy\oldnumeric\compat.py", line 14, in <module>
from . import functions
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\oldnumeric\functions.py", line 9, in <module>
from .typeconv import convtypecode, convtypecode2
File "C:\Program Files (x86)\Python27\lib\site-packages\numpy\oldnumeric\typeconv.py", line 7, in <module>
oldtype2dtype = {'1': np.dtype(np.byte),
AttributeError: 'module' object has no attribute 'dtype'
Есть ли файл или модуль, который я не установил, чтобы он не работал, или подобное решение / обходной путь? Я запустил этот код, чтобы посмотреть, смогу ли я обработать данные, поступающие с устройства, способом, отличным от программного обеспечения, которое они предоставляют с устройством. Если есть лучший способ, пожалуйста, сообщите мне. Я уже пробовал pySerial, pywinusb или d2xx и другие, такие как pywin32, но безрезультатно. В настоящее время устройство занесено в диспетчер устройств как совершенно новый класс устройств: компонент DAS, более старые устройства использовались в качестве устройств USB Human Interface Devices.
Соответствующая информация: Python2.7 (32-разрядная версия) на Windows 8
1 ответ
Я еще не достиг дна этой проблемы, но похоже, что проблема с numpy
потому что Python не может найти dtype
приписывать np
что как numpy
импортируется в файл oldnumeric/typeconv.py
в пределах numpy
распределение.
Я подозреваю, что один из:
- Испорченный
numpy
дистрибутив (в этом случае вам лучше переустановитьnumpy
), или же - Конфликт пространства имен какой-то.
numpy
имеет тестовый код для dtype
(он находится в ../numpy/core/tests/test_dtype.py
), чтобы вы могли запустить numpy
тестовый набор и посмотреть, если он выдает ошибку, связанную с dtype
,
Еще одна вещь, которую я заметил, заключается в том, что код PyUL использует старый пакет Numeric, который, возможно, конфликтует с numpy