Synology-Forum.nl

Packages => Officiƫle Packages => Python (Versie van Synology) => Topic gestart door: harry440 op 31 mei 2018, 21:12:04

Titel: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 31 mei 2018, 21:12:04
Update naar DSM 6.1.7-15284 uitgevoerd, nu ineens de onderstaande melding bij uitvoeren van mijn Python script:

/volume1/pyserial/env/bin/python: error while loading shared libraries: libpython3.4m.so.1.0: cannot open shared object file: No such file or directory

Wie weet raad?
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 31 mei 2018, 23:19:19
Waarschijnlijk is je virtual environment voor pyserial niet goed opgezet.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 01 juni 2018, 08:04:31
Zou dit dan na de update teniet zijn gedaan? Daavoor werkte alles prima. Gewoon weer opnieuw opzetten?
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 01 juni 2018, 08:57:59
Laat eens zien wat er in de folder /volume1/pyserial/env/bin staat.

Overigens als je het toch opnieuw gaat/moet opzetten zou ik die pyserial gewoon net als alle applicaties in de ""volume1/@appstore" folder zetten en niet in "/volume1/" maar dit terzijde.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 02 juni 2018, 10:11:14
Hierbij.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 02 juni 2018, 11:12:24
Ga eens in die folder staan en geef het commando
Citaat
python
Dan zie je welke versie hij start.
Daarna kijk je welke modules hij kan laden en of er foutmeldingen komen
Dat doe je vanuit de net opgestarte python shell met het command:
Citaat
help('modules')

En verder is het van belang te kijken hoe python wordt opgestart.
Als het script dat je gebruikt alleen het python commando gebruikt, dus zonder path of zonder eerst naar deze folder te gaan dan wordt de python opgestart die in het path staat en dat is niet de python die jouw pyserial verwacht.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 02 juni 2018, 11:22:30
Allereerst bedankt voor de hulp!  :thumbup:

Python 2.7.12 (default, Mar 22 2018, 06:58:41)

De modules worden geladen zonder foutmeldingen.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 02 juni 2018, 11:30:35
Moet pyserial niet onder python 3 draaien?

En de python die daar aangeroepen wordt is die python 2.7 die met DSM wordt meegeleverd en dat is een geheel uitgeklede python versie die eigenlijk alleen voldoet aan de dingen die DSM zelf nodig heeft.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 02 juni 2018, 11:36:46
Dus het lijkt erop dat Python start ipv Python3? Hoe krijg ik dat omgekeerd? Ik heb zowel Python als Python3 geinstalleerd op de DSM, dit werkte altijd prima. Als ik het commando 'python3' ingeef dan wordt 'command not found' weergegeven.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 02 juni 2018, 12:02:42
Ik denk dat je de gevraagde test niet goed hebt uitgevoerd.

Ik vroeg ga in de folder /volume1/pyserial/env/bin staan en voor het python commando uit.
Daar staat namelijk een python die naar python 3 verwijst als het goed is.

Als alternatief kun je even het hele path gebruiken zijnde
Citaat
/volume1/pyserial/env/bin/python

Als je het python3 commando geeft en je krijgt de melding "command not foud" zou ik python 3 eens verwijderen en opnieuw installeren.
Je moet dan wel die van Synology nemen en niet die van de SynoCommunity.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 02 juni 2018, 12:29:05
Als ik in de directory ga staan en dan het python commando geef, dan wordt Python 2.7.12 gestart.

Als ik /volume1/pyserial/env/bin/python ingeef dan "error while loading shared libraries: libpytho                                                                                        n3.4m.so.1.0: cannot open shared object file: No such file or directory"

Ik zal Python3 eens opnieuw installeren vanuit DSM.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 02 juni 2018, 13:08:11
Ok ik denk dat dan het probleem wel opgelost zal zijn.
Wel die van Synology installeren.

En als het dan nog niet werkt moet je pyserial verwijderen en opnieuw installeren.
Zo'n virtual environment maakt een binary aan die de geinstalleerde python aanroept.
Ik weet niet precies hoe dat gaat maar misschien heeft hij nu de verkeerde verwijzing.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 04 juni 2018, 21:25:52
Python opnieuw geinstalleerd maar helaas.

Hoe kan ik pyserial verwijderen?

Ik heb een beschrijving hoe ik het weer opnieuw kan installeren.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 04 juni 2018, 21:36:36
Ligt eraan hoe het geinstalleerd is.
Weet je nog hoe je dat gedaan hebt?
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 04 juni 2018, 22:35:19
Ja dat was deze post:
https://www.synology-forum.nl/overige-3rd-party-packages/pyserial2-7-werkt-niet-meer-na-update-python/new/?topicseen#new

Ik heb Python2 en Python3 (beiden nodig) opnieuw geinstalleerd via SynoCommunity.

Bij uitvoeren commando
"/usr/local/python3/bin/python3 /usr/local/python3/bin/virtualenv /volume1/@appstore/pyserial/env"

Krijg ik aangehangen screenshot.

Als amateur baal ik dat na een DSM update de hele zaak in de war is.

Python2 en Python3 moeten beiden draaien en Pyserial. Hoe krijg ik de zaak weer aan de gang?

Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 05 juni 2018, 11:31:36
Dat commando kan toch helemaal niets doen?

Als je nu gewoon het volgende commando geeft:
Citaat
/volume1/pyserial/env/bin/python3

Of als je pyserial in de appstore gezet hebt.
Citaat
/volume1/@appstore/pyserial/env/bin/python3

Dan moet hij python 3 opstarten en krijg je een python prompt.
Krijg je die niet dan moet je pyserial opnieuw installeren.
De oude kun je dan gewoon verwijderen door de folder weg te gooien.

Als python3 wel gewoon opstart, kun je met het volgende commando zien of pyserial in je virtual environment geinstalleerd staat:

Citaat
help('modules')
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: harry440 op 05 juni 2018, 21:34:23
Het is eindelijk opgelost, bedankt voor de hulp.

Mijn laatste bericht gisteren klopte niet, ik was niet ingelogd als root maar als admin (in de haast).

Had de venv al verwijderd en pyserial installatie is gelukt. Daarna moest mysql-connector-python ook nog en dat lukte goed via pip. Ik kan nu mijn zonnepanelen weer uitlezen in mijn mysql database.
Titel: Re: Python libpython3.4m.so.1.0: cannot open shared object file: No such file or dir
Bericht door: Ben(V) op 06 juni 2018, 08:57:12
 :thumbup: