Hi,
I still havent managed to get it to work.
Someone able to help me a bit?
The code im running:
With kind regards.
I still havent managed to get it to work.
Someone able to help me a bit?
The code im running:
from pycampbellcr1000 import CR1000 import datetime import os import sys import time device = CR1000.from_url('Serial:COM3:38400') print("Device is connected: %s" %device.connected) print(device.gettime()) print(device.list_tables())The actual error:
Traceback (most recent call last): File "C:\Users\Makada\Desktop\cr1000.py", line 1, in <module> from pycampbellcr1000 import CR1000 File "C:\Python\lib\site-packages\pycampbellcr1000\__init__.py", line 13, in <module> from .logger import LOGGER, active_logger File "C:\Python\lib\site-packages\pycampbellcr1000\logger.py", line 14, in <module> from .compat import NullHandler File "C:\Python\lib\site-packages\pycampbellcr1000\compat.py", line 94, in <module> stdout = sys.stdout.buffer AttributeError: 'StdOutputFile' object has no attribute 'buffer' >>>The code which is named in the error, line 13 in _init_.py
# -*- coding: utf-8 -*- ''' PyCampbellCR1000 ---------------- The public API and command-line interface to PyCampbellCR1000. :copyright: Copyright 2012 Salem Harrache and contributors, see AUTHORS. :license: GNU GPL v3. ''' # Make sure the logger is configured early: from .logger import LOGGER, active_logger from .pakbus import PakBus from .device import CR1000 VERSION = '0.4dev' __version__ = VERSIONThe code which is named in the error, line 14 in logger.py
# -*- coding: utf-8 -*- ''' PyCampbellCR1000.logger ----------------------- Logging setup. :copyright: Copyright 2012 Salem Harrache and contributors, see AUTHORS. :license: GNU GPL v3. ''' from __future__ import unicode_literals import logging from .compat import NullHandler LOGGER = logging.getLogger('pycampbellcr1000') LOGGER.addHandler(NullHandler()) def active_logger(): '''Initialize a speaking logger with stream handler (stderr).''' LOGGER = logging.getLogger('pycampbellcr1000') LOGGER.setLevel(logging.INFO) # Default to logging to stderr. formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s ') stream_handler = logging.StreamHandler() stream_handler.setFormatter(formatter) LOGGER.addHandler(stream_handler)The code which generates the error ( line 94 )is shown below.
With kind regards.
# coding: utf8 ''' PyCampbellCR1000.compat ----------------------- Workarounds for compatibility with Python 2 and 3 in the same code base. :copyright: Copyright 2012 Salem Harrache and contributors, see AUTHORS. :license: GNU GPL v3. ''' import sys # ------- # Pythons # ------- # Syntax sugar. _ver = sys.version_info #: Python 2.x? is_py2 = (_ver[0] == 2) #: Python 3.x? is_py3 = (_ver[0] == 3) #: Python 3.0.x is_py30 = (is_py3 and _ver[1] == 0) #: Python 3.1.x is_py31 = (is_py3 and _ver[1] == 1) #: Python 3.2.x is_py32 = (is_py3 and _ver[1] == 2) #: Python 3.3.x is_py33 = (is_py3 and _ver[1] == 3) #: Python 3.4.x is_py34 = (is_py3 and _ver[1] == 4) #: Python 2.7.x is_py27 = (is_py2 and _ver[1] == 7) #: Python 2.6.x is_py26 = (is_py2 and _ver[1] == 6) # --------- # Specifics # --------- if is_py2: if is_py26: from logging import Handler class NullHandler(Handler): def emit(self, record): pass from ordereddict import OrderedDict else: from logging import NullHandler from collections import OrderedDict from StringIO import StringIO ord = ord chr = chr def to_char(string): if len(string) == 0: return bytes('') return bytes(string[0]) bytes = str str = unicode stdout = sys.stdout xrange = xrange elif is_py3: from collections import OrderedDict from logging import NullHandler from io import StringIO ord = lambda x: x chr = lambda x: bytes([x]) def to_char(string): if len(string) == 0: return str('') return str(string[0]) str = str bytes = bytes stdout = sys.stdout.buffer xrange = range def is_text(data): '''Check if data is text instance''' return isinstance(data, str) def is_bytes(data): '''Check if data is bytes instance''' return isinstance(data, bytes)