Уведомления

Группа в Telegram: @pythonsu

#1 Июль 31, 2013 10:54:53

laa88rf
Зарегистрирован: 2013-07-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

В чем отличие консоли от файла. pyserial

Привет всем. Граждане, подскажите по такому делу. Пишу проект, рабою с модулем pyserial. Все бы славно, но вот какая заковырка. Проект валится со словами, что module has not attribute Serial.

Вот пример:
>>> import serial
>>> ser = serial.Serial('/dev/ttyS1', 19200, timeout=1)
>>> x = ser.read() # read one byte
>>> s = ser.read(10) # read up to ten bytes (timeout)
>>> line = ser.readline() # read a ‘\n’ terminated line
>>> ser.close()

Он работает.

Если код набрать в файл:
#!/usr/bin/python2.7
import serial
ser = serial.Serial('/dev/ttyS1', 19200, timeout=1)
x = ser.read() # read one byte
s = ser.read(10) # read up to ten bytes (timeout)
line = ser.readline() # read a ‘\n’ terminated line
ser.close()

то, все валится.

ОСь ubuntu 12.04 LTS.
Это не первая либа с такой бякой.

Заранее благодарю за ответ.

Офлайн

#2 Июль 31, 2013 12:52:08

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

В чем отличие консоли от файла. pyserial

laa88rf
отталкиваясь от того что сообщество без проблем использует эту библиотеку предположу что проблема конкретно у вас, и, вероятнее всего, конкретно с вашим ПК/ОС. Вы корректно ее установили?

john_16@linux-home:/usr/lib/python/site-packages/serial> python -c "import serial;print serial.VERSION"
2.5
john_16@linux-home:/usr/lib/python/site-packages/serial> ll | grep -e ".*\.py$"
-rw-r--r-- 1 root root  2245 янв 27  2013 __init__.py
-rw-r--r-- 1 root root  9315 авг 14  2009 loopback_connection.py
-rw-r--r-- 1 root root 58059 дек 26  2009 rfc2217.py
-rw-r--r-- 1 root root  9946 авг 14  2009 serialcli.py
-rw-r--r-- 1 root root  9193 авг 14  2009 serialjava.py
-rw-r--r-- 1 root root 24193 янв 27  2013 serialposix.py
-rw-r--r-- 1 root root 19234 июл 22  2010 serialutil.py
-rw-r--r-- 1 root root 15637 май 21  2010 serialwin32.py
-rw-r--r-- 1 root root  5841 июл 24  2009 sermsdos.py
-rw-r--r-- 1 root root  9584 авг 14  2009 socket_connection.py
-rw-r--r-- 1 root root  9044 июл 25  2009 win32.py
здесь важно это ‘/usr/lib/python2.7/site-packages’
john_16@linux-home:/usr/lib/python/site-packages/serial> python -c "import sys;print sys.path;from serial import Serial"
['', '/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/PIL', '/usr/local/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/gst-0.10', '/usr/lib/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']




_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июль 31, 2013 14:04:45

laa88rf
Зарегистрирован: 2013-07-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

В чем отличие консоли от файла. pyserial

1@1:~/prj$ python -c "import sys; print sys.path; from serial import Serial;print serial.VERSION"
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-i386-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'serial' is not defined

1@1:~/prj$ python -c "from serial import Serial;print serial.VERSION"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'serial' is not defined
Вот так у меня

/usr/lib/python2.7/dist-packages/serial$ ll | grep -e ".*\.py$"
lrwxrwxrwx  1 root root    45 февр. 15 22:28 __init__.py -> ../../../../share/pyshared/serial/__init__.py
lrwxrwxrwx  1 root root    44 февр. 15 22:28 rfc2217.py -> ../../../../share/pyshared/serial/rfc2217.py
lrwxrwxrwx  1 root root    46 февр. 15 22:28 serialcli.py -> ../../../../share/pyshared/serial/serialcli.py
lrwxrwxrwx  1 root root    47 февр. 15 22:28 serialjava.py -> ../../../../share/pyshared/serial/serialjava.py
lrwxrwxrwx  1 root root    48 февр. 15 22:28 serialposix.py -> ../../../../share/pyshared/serial/serialposix.py
lrwxrwxrwx  1 root root    47 февр. 15 22:28 serialutil.py -> ../../../../share/pyshared/serial/serialutil.py
lrwxrwxrwx  1 root root    48 февр. 15 22:28 serialwin32.py -> ../../../../share/pyshared/serial/serialwin32.py
lrwxrwxrwx  1 root root    45 февр. 15 22:28 sermsdos.py -> ../../../../share/pyshared/serial/sermsdos.py
lrwxrwxrwx  1 root root    42 февр. 15 22:28 win32.py -> ../../../../share/pyshared/serial/win32.py
тоже самое лежит в /usr/local/lib/…

Отредактировано laa88rf (Июль 31, 2013 14:37:23)

Офлайн

#4 Июль 31, 2013 20:11:30

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

В чем отличие консоли от файла. pyserial

Попробуйте в консоле и файле

import serial
print serial.__path__
Ненужно называть свои файлы и директории именами модулей и библиотек.



Офлайн

#5 Июль 31, 2013 20:30:30

laa88rf
Зарегистрирован: 2013-07-31
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

В чем отличие консоли от файла. pyserial

Точно. Давно я не кодил на питоне. Спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version