Auteur Topic: Pyserial2-7 werkt niet meer na update Python  (gelezen 9517 keer)

Offline harry440

  • Bedankjes
  • -Gegeven: 5
  • -Ontvangen: 2
  • Berichten: 56
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #15 Gepost op: 29 oktober 2014, 22:40:52 »
Dank allen. Heb weer heel wat geleerd. Ik kan dus concluderen dat het installeren van Python via Synology deze instellingen zelf aanmaakt, Python via Synocommunity niet.

Ga het proberen!
  • Mijn Synology: DS214+

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1399
  • -Ontvangen: 8046
  • Berichten: 44.169
  • Fijne feestdagen.......
    • Truebase
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #16 Gepost op: 29 oktober 2014, 22:46:07 »
Ik weet niet of dat ook in DSM5.0 is maar, in 5.1 heb je ook nog een standaard Python  ;) :

DS111> python
Python 2.7.8 (default, Aug 28 2014, 20:19:31)
[GCC 4.6.4] on linux2

Waarvan ook een Beta ter beschikking is:



CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-8   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-8
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.4-25556-7   DS1515+   DSM 6.2.4-25556-8   DS220+    DSM 7.2.2-72806-2
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 7.2.2-72806-2   RT2600ac  SRM 1.3.1-9346-12
BeeDrive   1TB             BeeServer  BSM 1.2-65567                                                                 MR2200ac  SRM 1.3.1-9346-12

Offline harry440

  • Bedankjes
  • -Gegeven: 5
  • -Ontvangen: 2
  • Berichten: 56
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #17 Gepost op: 30 oktober 2014, 23:07:12 »
Het wil allemaal voor geen meter, wou dat de automatische update naar Python 3.4 nooit had plaatsgevonden.

  • Als ik Python2 via Synocommunity installeer, krijg ik de foutmelding 'error while loading shared libraries'
  • Python2 via Synology draait goed, Pyserial draait goed
  • Python3 via Synocommunity draait goed
  • Python3 via Synology mist het bestand 'pyconfig.py' Maar zelf het bestand toegevoegd en Pyserial2-7 wil nu wel installeren, maar...
  • Tijdens de installatie van Pyserial2-7 komen allemaal bugs voorbij.


Het compileren van een Python2 naar Python3 script in versie Python3.4 gaat dus fout? 2to3?

  • Mijn Synology: DS214+

Ben(V)

  • Gast
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #18 Gepost op: 31 oktober 2014, 10:12:18 »
Je probeert de windows installer te runnen op je synology dat gaat nooit werken.
Je moet het source package hebben en die zelf installeren.

Offline harry440

  • Bedankjes
  • -Gegeven: 5
  • -Ontvangen: 2
  • Berichten: 56
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #19 Gepost op: 31 oktober 2014, 10:47:43 »
Maar ik gebruik pyserial-2.7.tar.gz (md5), uitpakken en installeren met commando:

'Python3 setup.py install'.

Dus is niet de Windows installer, wat gaat er dan fout?
  • Mijn Synology: DS214+

Ben(V)

  • Gast
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #20 Gepost op: 31 oktober 2014, 12:01:40 »
Geen idee maar ik zie toch duidelijk dat je serialwin32.py probeert te draaien.

Ben(V)

  • Gast
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #21 Gepost op: 31 oktober 2014, 12:26:21 »
Je moet die tar zelf uitpakken en ergens neerzetten.
Dan moet je met Putty in die directory gaan staan.
Als je dan een ls commando geeft, moet je daar setup.py zien staan.

Vervolgens geeft je het commando:
Citaat
/volume1/@appstore/python3/bin/python3 setup.py install

PS Zorg er wel voor dat je met putty als root bent ingelogd niet als admin (voor beiden geld hetzelfde password).

Offline DrBean

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 24
  • Berichten: 81
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #22 Gepost op: 31 oktober 2014, 17:40:43 »
Ik heb persoonlijk wat moeite met het uit elkaar houden van wat je nu naast elkaar aan het testen bent en wat er in je screenshots staat (de commando's staan er niet altijd in, geloof ik)
Onderstaand is gedaan met het Python3 package van SynoCommunity. Daarvan weet ik dat het werkt, en daarnaast mist het Synology package wat modules die ik hieronder gebruik.

Eerst zet ik een virtualenv op, in `/volume1/pyserial`. Dit is optioneel, maar wel een goed idee. Je krijgt als het ware een kopie van Python in de /bin folder van je virtualenv, en er is een scheiding met andere Python installaties (het oorspronkelijke Python package blijft wel nodig). Dus:
DS4458> /usr/local/python3/bin/python3 /usr/local/python3/bin/virtualenv /volume1/pyserial/env
Using base prefix '/usr/local/python3'
New python executable in /volume1/pyserial/env/bin/python3
Also creating executable in /volume1/pyserial/env/bin/python
Installing setuptools, pip...done.
Hierna installeer ik pyserial dmv `pip`. Stukken makkelijker dan downloaden van een tar, uitpakken en installeren. We willen wel `pip` in de venv gebruiken, niet de system-wide pip of die van een ander package, vandaar het pad.
Pip en het vorige commando, virtualenv, zitten niet in het Synology Python package, mede daarom gebruik ik het package van SynoCommunity.
DS4458> cd /volume1/pyserial #de venv die we hiervoor maakten, zit dus in de /env dir
DS4458> ./env/bin/pip install pyserial
Downloading/unpacking pyserial
  Downloading pyserial-2.7.tar.gz (122kB): 122kB downloaded
  Running setup.py (path:/volume1/pyserial/env/build/pyserial/setup.py) egg_info for package pyserial
    Detected Python 3, using 2to3

Installing collected packages: pyserial
  Running setup.py install for pyserial
    Skipping implicit fixer: buffer
    Skipping implicit fixer: idioms
    Skipping implicit fixer: set_literal
    Skipping implicit fixer: ws_comma
    changing mode of build/scripts-3.4/miniterm.py from 644 to 755
    Skipping implicit fixer: buffer
    Skipping implicit fixer: idioms
    Skipping implicit fixer: set_literal
    Skipping implicit fixer: ws_comma
    Detected Python 3, using 2to3

    changing mode of /volume1/pyserial/env/bin/miniterm.py to 755
Successfully installed pyserial
Cleaning up...
Nu kunnen we controleren of serial te importeren is. Dit heeft geen praktische waarde overigens, maar het kan helpen met troubleshooten. We openen een Python console (in de virtualenv), daarna importeren we serial:
DS4458> ./env/bin/python
Python 3.4.1 (default, Sep 16 2014, 08:14:00)
[GCC 4.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>>
<ctrl-D> om de console te verlaten. Geen foutmelding, import is dus goed gegaan.
Ook kunnen we miniterm aanroepen:
DS4458> ./env/bin/miniterm.py
--- Available ports:
--- /dev/ttyS0           ttyS0
--- /dev/ttyS1           ttyS1

Als ik het goed begrijp gebruik je weer een ander script om miniterm oid aan te roepen? Dan kun je dat script aanroepen via /volume1/pyserial/env/bin/python <jouw_script.py> (rekening houdende met de virtualenv). Mocht dat niet werken, dan even de foutmelding + naar een online kopie van dat script linken, dat is makkelijker te reproduceren.

Offline harry440

  • Bedankjes
  • -Gegeven: 5
  • -Ontvangen: 2
  • Berichten: 56
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #23 Gepost op: 03 november 2014, 11:54:43 »
Dank DrBean, ik ga dit uittesten!! Ik laat weten hoe het afloopt!
  • Mijn Synology: DS214+

Offline harry440

  • Bedankjes
  • -Gegeven: 5
  • -Ontvangen: 2
  • Berichten: 56
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #24 Gepost op: 03 november 2014, 20:41:44 »
DrBean, ik heb getest en HET WERKT! Super bedankt voor de hulp!! Import Serial werkt en ik kan mijn slimme meter weer uitlezen. Ging ik toch de mist in om de PySerial 'zelf' te installeren in plaats van via PIP.

Blij met Linux / Synology experts zoals jullie.  :)

  • Mijn Synology: DS214+

Offline DrBean

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 24
  • Berichten: 81
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #25 Gepost op: 03 november 2014, 21:00:09 »
Nou, perfect :) Om het verhaal dan helemaal compleet te maken: handmatig downloaden, uitpakken en setup.py draaien werkt ook hoor :P

We maken een nieuwe venv:
DS4458> rm -rf ./env/
DS4458> /usr/local/python3/bin/python3 /usr/local/python3/bin/virtualenv /volume1/pyserial/env
Using base prefix '/usr/local/python3'
New python executable in /volume1/pyserial/env/bin/python3
Also creating executable in /volume1/pyserial/env/bin/python
Installing setuptools, pip...done.

We downloaden pyserial:
DS4458> wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794
506184df83ef2290de0d18803dd11
--2014-11-03 20:47:46--  https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
[knip]
2014-11-03 20:47:47 (741 KB/s) - 'pyserial-2.7.tar.gz' saved [122081/122081]

We pakken het uit:
DS4458> tar -xvzf pyserial-2.7.tar.gz
pyserial-2.7/
[knip]
pyserial-2.7/README.txt

We gaan de folder in, je kunt hier niet met subfolders werken, en we draaien setup.py. De `../` is dus om een dir extra omhoog te gaan, je kunt ook het volledige pad kiezen: precies hetzelfde.
DS4458> cd pyserial-2.7/
DS4458> ../env/bin/python setup.py install
Detected Python 3, using 2to3
/usr/local/python3/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'use_2to3'
  warnings.warn(msg)
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/serial
copying serial/serialcli.py -> build/lib/serial
[knip]
copying build/lib/serial/urlhandler/protocol_hwgrep.py -> /volume1/pyserial/env/lib/python3.4/site-packages/serial/urlhandler
byte-compiling /volume1/pyserial/env/lib/python3.4/site-packages/serial/serialcli.py to serialcli.cpython-34.pyc
[knip]
byte-compiling /volume1/pyserial/env/lib/python3.4/site-packages/serial/urlhandler/protocol_hwgrep.py to protocol_hwgrep.cpython-34.pyc
running install_scripts
copying build/scripts-3.4/miniterm.py -> /volume1/pyserial/env/bin
changing mode of /volume1/pyserial/env/bin/miniterm.py to 755
running install_egg_info
Writing /volume1/pyserial/env/lib/python3.4/site-packages/pyserial-2.7-py3.4.egg-info

We gaan de dir weer uit, en we importeren serial eens:
DS4458> cd ../
DS4458> ./env/bin/python
Python 3.4.1 (default, Sep 16 2014, 08:14:00)
[GCC 4.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>>
Dus dat werkt ook wel.

Offline harry440

  • Bedankjes
  • -Gegeven: 5
  • -Ontvangen: 2
  • Berichten: 56
Re: Pyserial2-7 werkt niet meer na update Python
« Reactie #26 Gepost op: 03 november 2014, 21:30:08 »
Jeetje  :lol: Bedankt voor het bewijs en ik heb van beide instructies een document aangemaakt.

  • Mijn Synology: DS214+