2

我有一个数据采集单元(来自 Measurement Computing 的 USB-2408),并且正在尝试编写 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 人机接口设备下。

相关信息:Windows 8 上的 Python2.7(32 位)

4

1 回答 1

2

我还没有找到这个问题的根源,但它看起来像一个问题,numpy因为 Python 无法在 中找到dtype属性np,这是在分发numpy中导入文件的方式。oldnumeric/typeconv.pynumpy

我怀疑其中之一:

  1. 一个损坏的numpy发行版(在这种情况下你最好重新安装numpy),或者
  2. 某种名称空间冲突。

numpydtype(它在../numpy/core/tests/test_dtype.py)的测试代码,因此您可以运行numpy测试套件并查看它是否引发与dtype.

我注意到的另一件事是 PyUL 代码使用旧的Numeric包,这可能与numpy

于 2014-03-05T00:36:10.960 回答