Python auf Disk Station: Installation von pillow package

Status
Für weitere Antworten geschlossen.

holladiewaldfee

Benutzer
Mitglied seit
25. Apr 2014
Beiträge
18
Punkte für Reaktionen
0
Punkte
1
Hi zusammen, eine Frage zu Python & Synology. Meine Diskstation sagt mir, dass Python 3 installiert ist - Version 3.5.
Wenn ich mich per SSH einwähle sagt mir die Console (python --version) aber, dass es Python 2.7.12 ist?:confused::confused::confused:

Ich habe mir über die Console pip installiert, da ich mir das Python Paket pil, oder gerne auch pillow für die Bilderverarbeitung installieren möchte...aber irgendwie klappt das nicht.

Hat jemand Erfahrung damit?
Danke für Tipps
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Hi,

das ist Synology‘s eigene Version kommt mit dem DSM.
Die Abfrage an der richtigen Stelle platziert sollte genügen, vorausgesetzt du hast über das Paketzentrum python3 installiert ;)
Rich (BBCode):
./var/packages/python3/target/bin/python3 -V
pip upgrade
Rich (BBCode):
./var/packages/python3/target/bin/pip install --upgrade pip
install pillow
Rich (BBCode):
./var/packages/python3/target/bin/pip install pillow

Bob
 

holladiewaldfee

Benutzer
Mitglied seit
25. Apr 2014
Beiträge
18
Punkte für Reaktionen
0
Punkte
1
Hi Bob, Python 3 habe ich im Paketzentrum aktiviert aber über python -v bekomme ich trotzdem nur 2.7.12...naja, muss dann nochmal in den tiefen des Fielsystems wühlen. immerhin kann man mit 2.7.12 PIL nutzen...das tuts auch. Sortier damit nur meine Bilder.
Aber schon komisch dieses Herstellerspezifische zeug...wozu? Sollen ihre Energie lieber dazu nutzen um den Standard nutzbar zu machen anstatt hier "eigene Versionen" zu erstellen :rolleyes:
 

nakoti

Benutzer
Mitglied seit
14. Sep 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Ich beschäftige mich aktuell auch mit der Installation von Python3 auf meiner Synology. Hierbei ist mir aufgefallen, dass

Code:
python3 --version

als Ergebnis liefert, dass ich Python 2.7.12 habe.

Code:
python3- V

liefert hingegen dass ich Python 3.5.1 habe.

Wenn ich nun PIP installieren will, meckert die Synology, dass ich nur Python 2.7.12 habe. Wie kann ich das lösen?
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Diese Syntax ist falsch, das sollte überhaupt kein Ergebnis haben.

Poste bitte folgende Ausgaben:

Rich (BBCode):
meinePythonVersion=$(which python3)
Rich (BBCode):
ls -la $meinePythonVersion
Rich (BBCode):
ls -la /bin/python*

Wenn ich nun PIP installieren will, meckert die Synology, dass ich nur Python 2.7.12 habe. Wie kann ich das lösen?

Wie genau sieht das aus? Auch hier bitte den vollständigen Syntax posten.
 

nakoti

Benutzer
Mitglied seit
14. Sep 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hier das Ergebnis deines Codes:

Code:
root@DiskStation:~# meinePythonVersion=$(which python3)
root@DiskStation:~# ls -la $meinePythonVersion
lrwxrwxrwx 1 root root 45 Apr  8 18:21 /usr/local/bin/python3 -> /volume1/@appstore/py3k/usr/local/bin/python3
root@DiskStation:~# ls -la /bin/python*
lrwxrwxrwx 1 root root    7 May 20  2019 /bin/python -> python2
lrwxrwxrwx 1 root root    9 May 20  2019 /bin/python2 -> python2.7
-rwxr-xr-x 1 root root 5688 May  9  2019 /bin/python2.7
root@DiskStation:~#

Dieser Hinweis kommt, wenn ich pip installiere:

Code:
root@DiskStation:/volume1/HDDDiskstation# python get-pip.py
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting pip
  Using cached pip-20.0.2-py2.py3-none-any.whl (1.4 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-20.0.2

Wenn ich mir die installierten Packages über
Code:
pip freeze
ansehen will, werden mir auch nicht die Packages angezeigt, die ich installiert habe :-?
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Code:
root@DiskStation:/volume1/HDDDiskstation# python get-pip.py[/QUOTE]

Du rufst auch mit „python get-pip.py“ Version 2.7 auf, DSM eigener Shit:eek:
versuche  
[CODE=rich]python3 get-pip.py

Aber Vorsicht! Besser du erstellst dir eine virtuelle Umgebung, denn pip über einen bootstrap einzurichten wird unter Umständen an den fehlenden setuptools auf die Nase fallen.:confused:

Rich (BBCode):
# Einrichten
admin@DSM62:~$ python3 -m venv 4Bob
# Betreten
admin@DSM62:~$ source 4Bob/bin/activate
# PIP Installieren
admin@DSM62:~$ pip install --upgrade pip
# Prüfen
admin@DSM62:~$ pip --version
# Verlassen
admin@DSM62:~$ deactivate

Das sollte auch noch hilfreich sein:
https://www.synology-forum.de/showt...ript-ausführen&p=853289&viewfull=1#post853289
 

nakoti

Benutzer
Mitglied seit
14. Sep 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Mag er auch nicht :-( Kann es sein, dass er auch python3 garnicht "erkennt"?

Code:
root@DiskStation:/# python3 -m venv 4Bob
root@DiskStation:/# -ash: deactivate: command not foundsource 4Bob/bin/activate
-ash: -ash:: command not found
root@DiskStation:/# source 4Bob/bin/activate
-ash: 4Bob/bin/activate: No such file or directory
root@DiskStation:/# cd /
root@DiskStation:/# ~$ python3 -m venv 4Bob
-ash: ~$: command not found
root@DiskStation:/# python3 -m venv 4Bob
root@DiskStation:/# source 4Bob/bin/activate
-ash: 4Bob/bin/activate: No such file or directory
root@DiskStation:/# pip install --upgrade pip
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages (20.0.2)
root@DiskStation:/# pip --version
pip 20.0.2 from /usr/lib/python2.7/site-packages/pip (python 2.7)
root@DiskStation:/# deactivate
-ash: deactivate: command not found
root@DiskStation:/#
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Code:
root@DiskStation:~# meinePythonVersion=$(which python3)
root@DiskStation:~# ls -la $meinePythonVersion
lrwxrwxrwx 1 root root 45 Apr  8 18:21 /usr/local/bin/python3 -> /volume1/@appstore/py3k/usr/local/bin/python3

Die binary files sind zumindest mal da wo ich sie erwarten würde; was hast du alles bereits versucht oder eher kaputt optimiert?
Kannst du die python console starten?
Rich (BBCode):
python3
mit Strg + D wieder verlassen
bitte noch die Umgebungsvariablen posten
Rich (BBCode):
echo $PATH | tr ":" "\n" | nl
 

nakoti

Benutzer
Mitglied seit
14. Sep 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Wenn ich "python3" aufrufe, passiert nichts. Hier das Ergebnis:
Code:
login as: admin
admin@192.168.178.28's password:
Could not chdir to home directory /var/services/homes/admin: No such file or directory
admin@DiskStation:/$ sudo -i
Password:
root@DiskStation:~# python3
root@DiskStation:~# echo $PATH | tr ":" "\n" | nl
     1  /sbin
     2  /bin
     3  /usr/sbin
     4  /usr/bin
     5  /usr/syno/sbin
     6  /usr/syno/bin
     7  /usr/local/sbin
     8  /usr/local/bin
root@DiskStation:~# python3
root@DiskStation:~#

Was ich gestern schon getan habe:
Python3 über das Paketzentrum installiert. PIP installiert. Die Pakete requests, flask, PyYAML für Python installiert. Port 80 der Synology freigegeben.

Als ich das Paket Pillow für Python installieren wollte, kam ein ganz langer Fehlertext in rot. Hiervon habe ich noch Screenshots.
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Dann wäre der Fehler mal gefunden, denn hier muss eine Konsole antworten.

Folgende Ausgabe wäre noch interessant:
Rich (BBCode):
root@DSM62:~# ls -la /volume1/@appstore/py3k/usr/local/bin/

Du kannst auch in das Installationsverzeichnis wechsel und dort den Aufruf ausführen:

Rich (BBCode):
root@DSM62:~# cd /volume1/@appstore/py3k/usr/local/bin/
root@DSM62:/volume1/@appstore/py3k/usr/local/bin# ./python3

Immer noch kein Ergebnis? Dann würde ich das Paket deinstallieren prüfen das keine Daten überlebt haben (sollte „No such file or directory“ ausgeben):
Rich (BBCode):
root@DSM62:~# ls -la /volume1/@appstore/py3k

und nochmal neu aufspielen.

Tipp: Nicht alles ins root schreiben das ist nicht der richtige Ablageort, Aktiviere das Benutzer-Home dann nutze deinen admin.
 

nakoti

Benutzer
Mitglied seit
14. Sep 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Die Eingabe von:

Code:
ls -la /volume1/@appstore/py3k/usr/local/bin/

liefert Folgendes:

Code:
root@DiskStation:~# ls -la /volume1/@appstore/py3k/usr/local/bin/
total 8
drwxr-xr-x 2 root root 4096 Jan 29  2018 .
drwxr-xr-x 5 root root 4096 Jan 29  2018 ..
lrwxrwxrwx 1 root root    9 Jan 29  2018 python3 -> python3.5
-rwxr-xr-x 2 root root    0 Apr  9 11:58 python3.5
-rwxr-xr-x 2 root root    0 Apr  9 11:58 python3.5m

Und hier der Rest, den ich eingegeben habe, inklusive Ergebnis:
Code:
root@DiskStation:~# cd /volume1/@appstore/py3k/usr/local/bin/
root@DiskStation:/volume1/@appstore/py3k/usr/local/bin# pyhon3
-ash: pyhon3: command not found
root@DiskStation:/volume1/@appstore/py3k/usr/local/bin#
root@DiskStation:/volume1/@appstore/py3k/usr/local/bin# python3
root@DiskStation:/volume1/@appstore/py3k/usr/local/bin# /volume1/@appstore/py3k/usr/local/bin# ./python3
-ash: /volume1/@appstore/py3k/usr/local/bin#: No such file or directory
root@DiskStation:/volume1/@appstore/py3k/usr/local/bin# ./python3               root@DiskStation:/volume1/@appstore/py3k/usr/local/bin# ls -la /volume1/@appstore/py3k
total 12
drwxr-xr-x 3 root root 4096 Apr  8 18:21 .
drwxr-xr-x 5 root root 4096 Apr  8 18:21 ..
drwxr-xr-x 3 root root 4096 Jan 29  2018 usr
root@DiskStation:/volume1/@appstore/py3k/usr/local/bin# cd /
root@DiskStation:/# ls -la /volume1/@appstore/py3k
total 12
drwxr-xr-x 3 root root 4096 Apr  8 18:21 .
drwxr-xr-x 5 root root 4096 Apr  8 18:21 ..
drwxr-xr-x 3 root root 4096 Jan 29  2018 usr
root@DiskStation:/# cd /volume1/@appstore/py3k/usr/local/bin/
root@DiskStation:/volume1/@appstore/py3k/usr/local/bin#

Es scheint mir, als ob die Deinstallation nicht funktioniert hätte?!


--- edit ---
Habe python3 nun im Paketzentrum deinstalliert. Anschließendes Ergebnis:

Code:
root@DiskStation:~# ls -la /volume1/@appstore/py3k
ls: cannot access /volume1/@appstore/py3k: No such file or directory

Ich werde nun mal suchen, wie ich python3 über SSH installiere. Vielleicht ist das ja "besser" als übers Paketzentrum...
 
Zuletzt bearbeitet:

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Code:
root@DiskStation:~# ls -la /volume1/@appstore/py3k/usr/local/bin/
-rwxr-xr-x 2 root root    0 Apr  9 11:58 python3.5
-rwxr-xr-x 2 root root    0 Apr  9 11:58 python3.5m

Das konnte nicht funktionieren; die binarys haben eine Größe von 0 Bytes.
Du kannst nur über eine bootstrap python3 installieren, aber das würde ich dir (noch) nicht empfehlen.

Du hast jetzt das Paket erfolgreich deinstalliert, jetzt installierst du es wieder; Die Abfrage sollte das Ergebnis liefern:
Rich (BBCode):
root@DSM62:~# ls -la /volume1/@appstore/py3k/usr/local/bin/
total 32
drwxr-xr-x 1 root root    64 Jan  1 22:34 .
drwxr-xr-x 1 root root    26 Jan 29  2018 ..
lrwxrwxrwx 1 root root     7 Jan  1 22:34 python -> python3
lrwxrwxrwx 1 root root     9 Jan 29  2018 python3 -> python3.5
-rwxr-xr-x 2 root root 10312 Jan 29  2018 python3.5
-rwxr-xr-x 2 root root 10312 Jan 29  2018 python3.5m
 

nakoti

Benutzer
Mitglied seit
14. Sep 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Ich habe es wieder über das Paketzentrum installiert. Das Ergebnis entspricht nicht ganz dem, was du gepostet hast:

Code:
root@DiskStation:~# ls -la /volume1/@appstore/py3k/usr/local/bin/
total 24
drwxr-xr-x 2 root root 4096 Jan 29  2018 .
drwxr-xr-x 5 root root 4096 Jan 29  2018 ..
lrwxrwxrwx 1 root root    9 Jan 29  2018 python3 -> python3.5
-rwxr-xr-x 2 root root 5720 Jan 29  2018 python3.5
-rwxr-xr-x 2 root root 5720 Jan 29  2018 python3.5m

---

Hier kommt aber wieder dasselbe raus, wie beim letzten Mal:

Code:
root@DiskStation:/# meinePythonVersion=$(which python3)
root@DiskStation:/# ls -la $meinePythonVersion
lrwxrwxrwx 1 root root 45 Apr  9 19:27 /usr/local/bin/python3 -> /volume1/@appstore/py3k/usr/local/bin/python3
root@DiskStation:/# ls -la /bin/python*
lrwxrwxrwx 1 root root    7 May 20  2019 /bin/python -> python2
lrwxrwxrwx 1 root root    9 May 20  2019 /bin/python2 -> python2.7
-rwxr-xr-x 1 root root 5688 May  9  2019 /bin/python2.7

---

vllt. ebenfalls noch interessant:

Code:
root@DiskStation:/# python --version
Python 2.7.12
root@DiskStation:/# python3 --version
Python 3.5.1


---

hier mein Versuch pip zu installieren

Code:
root@DiskStation:~# wget https://bootstrap.pypa.io/get-pip.py
--2020-04-09 20:49:03--  https://bootstrap.pypa.io/get-pip.py
Resolving bootstrap.pypa.io... 2a04:4e42:3::175, 151.101.12.175
Connecting to bootstrap.pypa.io|2a04:4e42:3::175|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1807342 (1.7M) [text/x-python]
Saving to: 'get-pip.py'

get-pip.py          100%[===================>]   1.72M  5.15MB/s    in 0.3s

2020-04-09 20:49:04 (5.15 MB/s) - 'get-pip.py' saved [1807342/1807342]

root@DiskStation:~# python3 get-pip.py
Collecting pip
  Using cached pip-20.0.2-py2.py3-none-any.whl (1.4 MB)
Collecting setuptools
  Downloading setuptools-46.1.3-py3-none-any.whl (582 kB)
     |????????????????????????????????| 582 kB 2.1 MB/s
Collecting wheel
  Using cached wheel-0.34.2-py2.py3-none-any.whl (26 kB)
Installing collected packages: pip, setuptools, wheel
  WARNING: The scripts pip, pip3 and pip3.5 are installed in '/volume1/@appstore/py3k/usr/local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts easy_install and easy_install-3.5 are installed in '/volume1/@appstore/py3k/usr/local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script wheel is installed in '/volume1/@appstore/py3k/usr/local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-20.0.2 setuptools-46.1.3 wheel-0.34.2
 
Zuletzt bearbeitet:

Asthos

Benutzer
Mitglied seit
18. Aug 2017
Beiträge
18
Punkte für Reaktionen
0
Punkte
1
Hallo bob4,

ich weiß nicht ob ich mich dazwischen hängen kann, aber ich benötige für mein Script auch pillow (zumindest denke ich das, da ich EXIF-Daten aus den .jpg Dateien lesen möscht und da das Aufnahmedatum selektiere)
Auf meinem Linux-Mint Rechner mit Py Charm funktioniert das Script auch, nur streubt sich meine DS116 gerade etwas dagegen ...

Zumindest bringt mir mein Script in der Jobausführung
Code:
/usr/local/bin/python3.5 /volume1/homes/Job/change_name/change_name.py >> /volume1/homes/Job/Ausgabe/py_change_name.txt
für den Code:
Code:
try:
    import PIL.Image import core as _imaging
    from PIL import ExifTags
except Exception as e:
    print(str(e))

folgenden Fehler:
Code:
cannot import name '_imaging'

Python3 ist soweit ich es sehen kann installiert:

Code:
ls -la /volume1/@appstore/py3k/usr/local/bin/

total 36
drwxr-xr-x 2 root root 4096 Apr  6 23:57 .
drwxr-xr-x 5 root root 4096 Jan 29  2018 ..
-rwxr-xr-x 1 root root  230 Apr  6 23:57 pip
-rwxr-xr-x 1 root root  230 Apr  6 23:57 pip3
-rwxr-xr-x 1 root root  230 Apr  6 23:57 pip3.5
lrwxrwxrwx 1 root root    9 Jan 29  2018 python3 -> python3.5
-rwxr-xr-x 2 root root 5588 Jan 29  2018 python3.5
-rwxr-xr-x 2 root root 5588 Jan 29  2018 python3.5m

Pip Version habe ich:
Code:
python3 -m pip --version

pip 20.0.2 from /volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/pip (python 3.5)

Nun versuche ich Pillow zu installieren:

Code:
python3 -m pip install pillow

das sieht auch am Anfang recht gut aus, doch dann der Fehler:

Code:
Collecting pillow
  Using cached Pillow-7.1.1.tar.gz (38.9 MB)
Building wheels for collected packages: pillow
  Building wheel for pillow (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4sl2g3eq/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4sl2g3eq/pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-wo4t7m_x
       cwd: /tmp/pip-install-4sl2g3eq/pillow/
  Complete output (172 lines):
.
.
.
 no previously-included directories found matching '.azure-pipelines'
  no previously-included directories found matching '.ci'
  writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
  running build_ext
  
  
  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.
  
  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html
  
  Traceback (most recent call last):
    File "/tmp/pip-install-4sl2g3eq/pillow/setup.py", line 899, in <module>
      zip_safe=not (debug_build() or PLATFORM_MINGW),
    File "/root/.local/lib/python3.5/site-packages/setuptools/__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/root/.local/lib/python3.5/site-packages/wheel/bdist_wheel.py", line 192, in run
      self.run_command('build')
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/volume1/@appstore/py3k/usr/local/lib/python3.5/distutils/command/build_ext.py", line 338, in run
      self.build_extensions()
    File "/tmp/pip-install-4sl2g3eq/pillow/setup.py", line 694, in build_extensions
      raise RequiredDependencyException(f)
  __main__.RequiredDependencyException: zlib
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-4sl2g3eq/pillow/setup.py", line 914, in <module>
      raise RequiredDependencyException(msg)
  __main__.RequiredDependencyException:
  
  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.
  
  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html
  
  
  ----------------------------------------
  ERROR: Failed building wheel for pillow

leider ist der Hinweis auf die Installationsseite https://pillow.readthedocs.io/en/latest/installation.html nicht wirklich zielführend.
Denn da steht ja auch bloß das drin:
Code:
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

eigentlich bin ich ja froh schon so weit gekommen zu sein, doch hätte ich nicht gedacht, dass es so schwer sein wird ein Pythonscript mit einem bestimmten modul zum laufen zu bekommen ...
Andere Scripte z.B. fürs Webscrabbing habe ich schon zum laufen gebracht ...
u.a. in dem ich Module auch auf der DS direkt hinterlegt habe und via
Code:
# hinterlegen wo einige weitere module hinterlegt sind
 sys.path.insert(0, '/volume1/homes/Job/module')
eingebunden bekommen hab.

Doch bei PIL / Pillow ging das halt nicht -.-

Naja aus dem oben genannten Trace werde ich nicht schlau, was für headers oder libraries brauch man denn für die Installation?
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Ich habe es wieder über das Paketzentrum installiert. Das Ergebnis entspricht nicht ganz dem, was du gepostet hast:
Denke das passt. Abhängig von der DS/CPU gibt‘s hier Abweichungen.

python3 scheint jetzt auch funktionsfähig; So hast du pip erfolgreich über den bootstrap geladen.:)
Das solltest du auch in Package Folder sehen:
Rich (BBCode):
ls -la /volume1/@appstore/py3k/usr/local/bin

Sind die Links dazu vorhanden?
Rich (BBCode):
root@DSM62:~# ls -la /usr/local/bin/pip
lrwxrwxrwx 1 root root 43 Jan 18 15:10 /usr/local/bin/pip -> /var/packages/py3k/target/usr/local/bin/pip

root@DSM62:~# which pip
/usr/local/bin/pip

root@DSM62:~# pip -V
pip 20.0.2 from /volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/pip (python 3.5)
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Hi Asthos,

Wie hast du pip installiert?

Naja aus dem oben genannten Trace werde ich nicht schlau, was für headers oder libraries brauch man denn für die Installation?
Was mir direkt auffällt, das bei dir der gesamte Tarball geladen wird für compiling Pillow from source !
Building wheels for collected packages: pillow
ERROR: Failed building wheel for pillow

Liste mal deine installierten Module:
Rich (BBCode):
pip list
Hier fehlt wheel ? Dann nachinstallieren:
Rich (BBCode):
pip install --upgrade --no-deps --force-reinstall --only-binary :all: wheel
anschließend pillow:
Rich (BBCode):
pip install --upgrade --no-deps --force-reinstall --only-binary :all: Pillow

https://pip.pypa.io/en/stable/reference/pip_install/#install-only-binary

Bob
 

Asthos

Benutzer
Mitglied seit
18. Aug 2017
Beiträge
18
Punkte für Reaktionen
0
Punkte
1
Hallo bob,

mit
Code:
pip list

bekam ich nur die Versionen für Python 2.7:
attrs 16.0.0
Babel 0.9.6
cachetools 3.1.1
caldav 0.1.10
cffi 1.6.0
characteristic 14.3.0
coverage 4.1
cryptography 0.9.3
Cython 0.24
decorator 4.0.9
defusedxml 0.5.0
distribute 0.7.3
docutils 0.12
egenix-mx-base 3.2.9
enum34 1.1.6
feedparser 5.2.1
FormEncode 1.3.0
gdata 2.0.18
gevent 1.0.2
google-api-python-client 1.7.9
google-auth 1.6.3
google-auth-httplib2 0.0.3
greenlet 0.4.9
httplib2 0.13.0
idna 2.1
ipaddress 1.0.16
Jinja2 2.8
lxml 3.6.0
Mako 1.0.4.dev0
MarkupSafe 0.23
mock 1.0.1
netifaces 0.10.4
nose 1.3.7
PAM 0.4.2
passlib 1.6.5.post20191212
Pillow 3.2.0
pip 20.0.2
psutil 5.6.7
psycogreen 1.0
psycopg2 2.6.1
py 1.4.31
pyasn1 0.4.5
pyasn1-modules 0.2.5
pycalendar 2.0
PyChart 1.39
pycparser 2.14
pycrypto 2.6.1
pydot 1.1.0
PyGreSQL 5.0
pykerberos 1.1.11
pyOpenSSL 16.0.0
pyparsing 2.1.4
pyPdf 1.13
pyserial 3.1
pytest 2.9.1
python-dateutil 2.5.3
python-ldap 2.4.25
python-openid 2.2.5
python-stdnum 1.4
pytz 2016.4
pyusb 1.0.0
PyWebDAV 0.9.8
PyYAML 3.11
qrcode 5.3
reportlab 3.3.0
requests 2.10.0
rsa 3.4.2
service-identity 16.0.0
setuptools 25.1.6
simplejson 3.8.2
six 1.12.0
sqlparse 0.1.11
SSSDConfig 2.0.0
Twisted 13.0.0
unittest2 0.5.1
uritemplate 3.0.0
vatnumber 1.2
vobject 0.9.2
Werkzeug 0.11.10
wheel 0.33.6
WSDiscovery 0.2
xattr 0.8.0
xlwt 1.1.1
zope.interface 4.1.3
ZSI 2.0rc3

daher hatte ich nochmal den Befehl
Code:
python3 -m pip list
ausgeführt:

Ergebnis:
Code:
Package    Version
---------- -------
pip        20.0.2 
setuptools 41.1.0 
wheel      0.33.6

Danch habe ich deinen Vorschlag nochmal befolgt und auch wheel upgegraded:
Code:
python3 -m pip install --upgrade --no-deps --force-reinstall --only-binary :all: wheel
Ergebnis:
Code:
Collecting wheel
  Downloading wheel-0.34.2-py2.py3-none-any.whl (26 kB)
Installing collected packages: wheel
  Attempting uninstall: wheel
    Found existing installation: wheel 0.33.6
    Uninstalling wheel-0.33.6:
      Successfully uninstalled wheel-0.33.6
  WARNING: The script wheel is installed in '/volume1/@appstore/py3k/usr/local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed wheel-0.34.2

Und danach Pillow:
Code:
python3 -m pip install --upgrade --no-deps --force-reinstall --only-binary :all: Pillow

Ergebnis:
Code:
ERROR: Could not find a version that satisfies the requirement Pillow (from versions: none)
ERROR: No matching distribution found for Pillow

Nochmal die Liste der Pakete:
Code:
python3 -m pip list
Package    Version
---------- -------
pip        20.0.2 
setuptools 41.1.0 
wheel      0.34.2

Also wheel scheint nun upgegradet zu sein.

Gibt es weitere Möglichkeiten/ Ansetzpubnkte?
Ich hoffe doch, dass Python 2.7 und Python 3 co-existieren können ...
 

nakoti

Benutzer
Mitglied seit
14. Sep 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Die Links scheinen nicht gesetzt. Und pip stellt weiter auf Python 2 ab.

Code:
root@DiskStation:~# ls -la /volume1/@appstore/py3k/usr/local/bin
total 48
drwxr-xr-x 2 root root 4096 Apr  9 20:50 .
drwxr-xr-x 5 root root 4096 Jan 29  2018 ..
-rwxr-xr-x 1 root root  236 Apr  9 20:50 easy_install
-rwxr-xr-x 1 root root  236 Apr  9 20:50 easy_install-3.5
-rwxr-xr-x 1 root root  227 Apr  9 20:50 pip
-rwxr-xr-x 1 root root  227 Apr  9 20:50 pip3
-rwxr-xr-x 1 root root  227 Apr  9 20:50 pip3.5
lrwxrwxrwx 1 root root    9 Jan 29  2018 python3 -> python3.5
-rwxr-xr-x 2 root root 5720 Jan 29  2018 python3.5
-rwxr-xr-x 2 root root 5720 Jan 29  2018 python3.5m
-rwxr-xr-x 1 root root  214 Apr  9 20:50 wheel
root@DiskStation:~# ls -la /usr/local/bin/pip
ls: cannot access /usr/local/bin/pip: No such file or directory
root@DiskStation:~# which pip
/bin/pip
root@DiskStation:~# pip -V
pip 20.0.2 from /usr/lib/python2.7/site-packages/pip (python 2.7)


---

Da auch ich Pillow benötige, bin ich mal eure Posts durchgegangen. Ich stehe am Ende wohl vor demselben Problem:

Code:
root@DiskStation:/# /volume1/@appstore/py3k/usr/local/bin/pip3 list
Package    Version
---------- -------
pip        20.0.2
setuptools 46.1.3
wheel      0.34.2
root@DiskStation:/# /volume1/@appstore/py3k/usr/local/bin/pip3 install --upgrade --no-deps --force-reinstall --only-binary :all: Pillow
ERROR: Could not find a version that satisfies the requirement Pillow (from versions: none)
ERROR: No matching distribution found for Pillow
root@DiskStation:/#
 
Zuletzt bearbeitet:

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
@Asthos
Gibt es weitere Möglichkeiten/ Ansetzpubnkte?
Ich hoffe doch, dass Python 2.7 und Python 3 co-existieren können ...

Ja das klappt sehr gut.
Weniger auf das DSM bezogen, aber auf einer Linux Kiste kannst du auch direkt beim compilieren von py durch den Schalter --prefix= eigene Verzeichnisse angeben um die Installation später zu separieren.

Grundsätzlich, will ich mein DSM nicht verändern oder anpassen;
Nach dem Python3 über das Paketzentrum installiert war schaut das bei mir wie folgt aus:

Rich (BBCode):
admin@DSM62:~$ which python3
/usr/local/bin/python3
admin@DSM62:~$ ls -la /usr/local/bin/python3
lrwxrwxrwx 1 root root 45 Apr 10 17:26 /usr/local/bin/python3 -> /volume3/@appstore/py3k/usr/local/bin/python3
admin@DSM62:~$ python3 -V
Python 3.5.1

Ich hab pip nie über einen bootstrap bereitgestellt, es gibt auch keine links, auch nicht vom DSM eigenen python2.
Rich (BBCode):
admin@DSM62:~$ pip
-sh: pip: command not found

Ich erstelle unter meinem Admin User eine virtuelle Umgebung (hier als Beispiel mit dem Namen Py-isolated). Die kann ich betreten darin arbeiten und anschließend verlassen.
Ist irgendetwas schiefgelaufen oder ich brauche das nicht mehr lösche ich sie.

Das Erstellen
Rich (BBCode):
admin@DSM62:~$ python3 -m venv Py-isolated
Jetzt wurde im Homeshare ein neuer Ordner (Py-isolated) angelegt mit folgendem Inhalt:
Rich (BBCode):
admin@DSM62:~$ ls -la Py-isolated
total 28
drwxrwxrwx+  5 admin users 4096 Apr 10 17:36 .
drwxrwxrwx+ 18 admin users 4096 Apr 10 17:36 ..
drwxrwxrwx+  2 admin users 4096 Apr 10 17:36 bin
drwxrwxrwx+  2 admin users 4096 Apr 10 17:36 include
drwxrwxrwx+  3 admin users 4096 Apr 10 17:36 lib
lrwxrwxrwx+  1 admin users    3 Apr 10 17:36 lib64 -> lib
-rwxrwxrwx+  1 admin users   75 Apr 10 17:36 pyvenv.cfg

Betretet ich diese Umgebung
Rich (BBCode):
admin@DSM62:~$ source Py-isolated/bin/activate
ist das gut erkennbar, da die Shell sich jetzt damit meldet und den Namen davor schreibt!
Rich (BBCode):
(Py-isolated) admin@DSM62:~$ pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/pack...b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 7.1.2
    Uninstalling pip-7.1.2:
      Successfully uninstalled pip-7.1.2
Successfully installed pip-20.0.2
(Py-isolated) admin@DSM62:~$ pip install wheel pillow
Collecting wheel
  Using cached wheel-0.34.2-py2.py3-none-any.whl (26 kB)
Collecting pillow
  Using cached Pillow-7.1.1-cp35-cp35m-manylinux1_x86_64.whl (2.1 MB)
Installing collected packages: wheel, pillow
Successfully installed pillow-7.1.1 wheel-0.34.2
(Py-isolated) admin@DSM62:~$ pip list
Package    Version
---------- -------
Pillow     7.1.1  
pip        20.0.2 
setuptools 18.2   
wheel      0.34.2

Bin ich damit fertig verlasse ich die Umgebung
Rich (BBCode):
(Py-isolated) admin@DSM62:~$ deactivate
und sofern nötig: löschen
Rich (BBCode):
admin@DSM62:~$ rm -R Py-isolated/

Damit komme ich gut zurecht, das lässt sich auch weiter ausbauen.
Aus jeden Fall einen Versuch wert.

@nakoti
@Asthos

Ihr könnt Euch pip von python3 auch zentral verfügbar machen, dazu den folgenden Link erstellen:
Rich (BBCode):
root@DSM62:~# ln -s /var/packages/py3k/target/usr/local/bin/pip3 /usr/local/bin/
root@DSM62:~# pip3 -V
pip 20.0.2 from /volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/pip (python 3.5)
root@DSM62:~# which pip3
/usr/local/bin/pip3

Rich (BBCode):
root@DSM62:~# pip3 list
Package            Version   
------------------ ----------
attrs              19.3.0    
certifi            2020.4.5.1
chardet            3.0.4     
click              7.1.1     
coverage           5.0.4     
Flask              1.1.2     
idna               2.9       
importlib-metadata 1.6.0     
itsdangerous       1.1.0     
Jinja2             2.11.1    
MarkupSafe         1.1.1     
more-itertools     8.2.0     
packaging          20.3      
pathlib2           2.3.5     
Pillow             7.1.1     
pip                20.0.2    
pluggy             0.13.1    
py                 1.8.1     
pyparsing          2.4.7     
pytest             5.4.1     
pytest-cov         2.8.1     
requests           2.23.0    
setuptools         46.1.3    
six                1.14.0    
urllib3            1.25.8    
wcwidth            0.1.9     
Werkzeug           1.0.1     
wheel              0.34.2    
zipp               1.2.0

Was den Fehler beim installieren von Pillow betrifft, das können Netzwerkfehler sein oder bei aktuellen py Versionen fehlende Kompatibilität, aber das ist hier nicht zutreffend.
https://bhch.github.io/posts/2017/0...ind-a-version-that-satisfies-the-requirement/

Hab das heute nochmal ausgeführt und mit einem Befehlssatz erweitert um den Download der whl binary zu erzwingen, das wäre noch ein Versuch:
Rich (BBCode):
root@DSM62:~# /volume1/@appstore/py3k/usr/local/bin/pip3 install --no-cache-dir --upgrade --no-deps --force-reinstall --only-binary :all: Pillow
Collecting Pillow
  Downloading Pillow-7.1.1-cp35-cp35m-manylinux1_x86_64.whl (2.1 MB)
     |????????????????????????????????| 2.1 MB 356 kB/s 
Installing collected packages: Pillow
  Attempting uninstall: Pillow
    Found existing installation: Pillow 7.1.1
    Uninstalling Pillow-7.1.1:
      Successfully uninstalled Pillow-7.1.1
Successfully installed Pillow-7.1.1
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat