Synology-Forum.nl
Tweaks / Addons A.K.A. The Underground => Algemeen => Topic gestart door: ton123 op 18 september 2012, 18:35:16
-
Misschien heeft iemand ervaring met de installatie van Beautifulsoup in combinatie met Python 2.7.1.
Ik zou graag willen weten - in jip en janneke taal - hoe dat te installeren.
Het is nodig voor de goede werking van een module in mijn OpenERP toepassing.
Zie hiervoor de parameters: http://www.synology-forum.nl/viewtopic.php?f=134&t=9975
En: http://forum.synology.com/enu/viewtopic.php?f=184&t=56373
Ik heb op dit forum één ander post gezien over beautiful soup, een hele goede post. Maar wel een oude, voor mij behoorlijk ingewikkeld en met Python 2.6.
Zie hier: http://forum.synology.com/enu/viewtopic.php?f=37&t=31459&p=124548&hilit=Beautifulsoup#msg124548
Ik ben een beetje bang dat ik all the way een ipkg installatie moet gaan en heb een steuntje nodig of er kans is dat dit ook gaat werken. Als er ergens een beatifulsoup.spk is zou dat mijn leven wat simpeler maken ....
-
Bij nader inzien denk ik dat ik ipkg niet nodig heb.
En wel omdat ik denk dat BeautifulSoup een HTML/XML parser is die alleen maar in de juiste directory moet worden geplaatst.
De vraag is of dat juist is. --> Blijkt juist te zijn!
Ook is de vraag welke versie ik het beste kan gebruiken. 3.2.1 de laatste stabiele versie uit de 3 serie of de nieuwe 4.1.3?
Allerlei documentatie staat op: http://pypi.python.org/pypi/BeautifulSoup/3.2.1
en http://www.crummy.com/software/BeautifulSoup/
Ik kies voorlopig voor 3.2.1.
Mijn public windows drive is: ALLEN
Na login met putty met mijn admin account voor de synology ga ik naar deze directory:
cd /volume1/ALLEN
wget http://www.crummy.com/software/Beautifu ... 2.1.tar.gz (http://www.crummy.com/software/BeautifulSoup/bs3/download/3.x/BeautifulSoup-3.2.1.tar.gz)
En de tar staat keurig op mijn ALLEN drive.
BeautifulSoup-3.2.1.tar
extract:
tar -xvf BeautifulSoup-3.2.1.tar
Je kunt desgewenst de de tar file verwijderen omdat die niet meer nodig is.
rm BeautifulSoup-3.2.1.tar
En nu kopieren naar de juiste directory, de vraag is naar welke. Ik gok dat alle libraries onder python2.7 staan.
Ik ga daar naartoe:
cd /volume1/@appstore/Python/usr/lib/python2.7
Ik krijg met ls -al:
-rw-r--r-- 1 root root 6412 Jul 30 13:02 dis.pyc
drwxr-xr-x 4 root root 4096 Jul 30 13:02 distutils
-rw-r--r-- 1 root root 102247 May 3 07:11 doctest.py
-rw-r--r-- 1 root root 8820 May 3 07:11 dumbdbm.py
-rw-r--r-- 1 root root 4418 May 3 07:11 dummy_thread.py
-rw-r--r-- 1 root root 2804 May 3 07:11 dummy_threading.py
drwxr-xr-x 4 root root 4096 Sep 17 20:30 email
drwxr-xr-x 2 root root 4096 Aug 3 09:01 encodings
-rw-r--r-- 1 root root 9503 May 3 07:11 filecmp.py
-rw-r--r-- 1 root root 14143 May 3 07:11 fileinput.py
-rw-r--r-- 1 root root 3239 May 3 07:11 fnmatch.py
-rw-r--r-- 1 root root 3672 Jul 30 13:02 fnmatch.pyc
-rw-r--r-- 1 root root 14911 May 3 07:11 formatter.py
-rw-r--r-- 1 root root 4699 May 3 07:11 fpformat.py
-rw-r--r-- 1 root root 22390 May 3 07:11 fractions.py
-rw-r--r-- 1 root root 35728 May 3 07:11 ftplib.py
-rw-r--r-- 1 root root 4478 May 3 07:11 functools.py
-rw-r--r-- 1 root root 6687 Jul 30 13:02 functools.pyc
-rw-r--r-- 1 root root 3015 May 3 07:11 genericpath.py
-rw-r--r-- 1 root root 3493 Jul 30 13:02 genericpath.pyc
-rw-r--r-- 1 root root 7318 May 3 07:11 getopt.py
-rw-r--r-- 1 root root 6884 Jul 30 13:02 getopt.pyc
-rw-r--r-- 1 root root 5563 May 3 07:11 getpass.py
-rw-r--r-- 1 root root 4904 Jul 30 13:02 getpass.pyc
-rw-r--r-- 1 root root 19859 May 3 07:11 gettext.py
-rw-r--r-- 1 root root 16524 Jul 30 13:02 gettext.pyc
-rw-r--r-- 1 root root 2249 May 3 07:11 glob.py
-rw-r--r-- 1 root root 2539 Jul 30 13:02 glob.pyc
-rw-r--r-- 1 root root 18226 May 3 07:11 gzip.py
-rw-r--r-- 1 root root 15648 Jul 30 13:02 gzip.pyc
-rw-r--r-- 1 root root 5013 May 3 07:11 hashlib.py
-rw-r--r-- 1 root root 4523 Jul 30 13:02 hashlib.pyc
-rw-r--r-- 1 root root 17331 May 3 07:11 heapq.py
-rw-r--r-- 1 root root 13711 Jul 30 13:02 heapq.pyc
-rw-r--r-- 1 root root 4531 May 3 07:11 hmac.py
-rw-r--r-- 1 root root 4692 Jul 30 13:02 hmac.pyc
drwxr-xr-x 2 root root 4096 Jul 30 12:58 hotshot
-rw-r--r-- 1 root root 18054 May 3 07:11 htmlentitydefs.py
-rw-r--r-- 1 root root 6390 Jul 30 13:02 htmlentitydefs.pyc
-rw-r--r-- 1 root root 12869 May 3 07:11 htmllib.py
-rw-r--r-- 1 root root 48093 May 3 07:11 httplib.py
-rw-r--r-- 1 root root 38562 Jul 30 13:02 httplib.pyc
drwxr-xr-x 3 root root 4096 Jul 30 12:58 idlelib
-rw-r--r-- 1 root root 18986 May 3 07:11 ihooks.py
-rw-r--r-- 1 root root 47665 May 3 07:11 imaplib.py
-rw-r--r-- 1 root root 47482 Jul 31 20:26 imaplib.pyc
-rw-r--r-- 1 root root 3544 May 3 07:11 imghdr.py
drwxr-xr-x 2 root root 4096 Jul 30 12:58 importlib
-rw-r--r-- 1 root root 25764 May 3 07:11 imputil.py
-rw-r--r-- 1 root root 42298 May 3 07:11 inspect.py
-rw-r--r-- 1 root root 41487 Jul 30 13:02 inspect.pyc
-rw-r--r-- 1 root root 3624 May 3 07:11 io.py
-rw-r--r-- 1 root root 3593 Jul 30 13:02 io.pyc
drwxr-xr-x 3 root root 4096 Jul 30 13:02 json
-rwxr-xr-x 1 root root 1994 May 3 07:11 keyword.py
-rw-r--r-- 1 root root 2149 Jul 30 13:02 keyword.pyc
drwxr-xr-x 2 root root 4096 Jul 30 12:58 lib-dynload
drwxr-xr-x 3 root root 4096 Jul 30 13:02 lib-tk
drwxr-xr-x 5 root root 4096 Jul 30 12:58 lib2to3
-rw-r--r-- 1 root root 3964 May 3 07:11 linecache.py
-rw-r--r-- 1 root root 3349 Jul 30 13:02 linecache.pyc
-rw-r--r-- 1 root root 88973 May 3 07:11 locale.py
-rw-r--r-- 1 root root 49997 Jul 30 13:02 locale.pyc
drwxr-xr-x 2 root root 4096 Jul 30 13:02 logging
-rw-r--r-- 1 root root 6252 May 3 07:11 macpath.py
-rw-r--r-- 1 root root 3275 May 3 07:11 macurl2path.py
-rw-r--r-- 1 root root 78102 May 3 07:11 mailbox.py
-rw-r--r-- 1 root root 7427 May 3 07:11 mailcap.py
-rw-r--r-- 1 root root 14350 May 3 07:11 markupbase.py
-rw-r--r-- 1 root root 9710 Jul 30 13:02 markupbase.pyc
-rw-r--r-- 1 root root 358 May 3 07:11 md5.py
-rw-r--r-- 1 root root 33434 May 3 07:11 mhlib.py
-rw-r--r-- 1 root root 7168 May 3 07:11 mimetools.py
-rw-r--r-- 1 root root 8682 Jul 30 13:02 mimetools.pyc
-rw-r--r-- 1 root root 20609 May 3 07:11 mimetypes.py
-rw-r--r-- 1 root root 18623 Jul 30 13:02 mimetypes.pyc
-rwxr-xr-x 1 root root 15021 May 3 07:11 mimify.py
-rw-r--r-- 1 root root 24283 May 3 07:11 modulefinder.py
-rw-r--r-- 1 root root 4820 May 3 07:11 multifile.py
drwxr-xr-x 3 root root 4096 Jul 30 12:58 multiprocessing
-rw-r--r-- 1 root root 1877 May 3 07:11 mutex.py
-rw-r--r-- 1 root root 4576 May 3 07:11 netrc.py
-rw-r--r-- 1 root root 610 May 3 07:11 new.py
-rw-r--r-- 1 root root 885 Jul 30 13:02 new.pyc
-rw-r--r-- 1 root root 21135 May 3 07:11 nntplib.py
-rw-r--r-- 1 root root 18082 May 3 07:11 ntpath.py
-rw-r--r-- 1 root root 2371 May 3 07:11 nturl2path.py
-rw-r--r-- 1 root root 10276 May 3 07:11 numbers.py
-rw-r--r-- 1 root root 15395 Jul 30 13:02 numbers.pyc
-rw-r--r-- 1 root root 5474 May 3 07:11 opcode.py
-rw-r--r-- 1 root root 6264 Jul 30 13:02 opcode.pyc
-rw-r--r-- 1 root root 61124 May 3 07:11 optparse.py
-rw-r--r-- 1 root root 57273 Jul 30 13:02 optparse.pyc
-rw-r--r-- 1 root root 26300 May 3 07:11 os.py
-rw-r--r-- 1 root root 27385 Jul 30 13:02 os.pyc
-rw-r--r-- 1 root root 4603 May 3 07:11 os2emxpath.py
-rw-r--r-- 1 root root 7913 May 3 07:11 pdb.doc
-rwxr-xr-x 1 root root 46019 May 3 07:11 pdb.py
-rw-r--r-- 1 root root 45095 May 3 07:11 pickle.py
-rw-r--r-- 1 root root 40820 Jul 30 13:02 pickle.pyc
-rw-r--r-- 1 root root 74539 May 3 07:11 pickletools.py
-rw-r--r-- 1 root root 9647 May 3 07:11 pipes.py
-rw-r--r-- 1 root root 20013 May 3 07:11 pkgutil.py
-rw-r--r-- 1 root root 19584 Jul 30 13:02 pkgutil.pyc
drwxr-xr-x 2 root root 4096 Jul 30 12:58 plat-linux2
-rwxr-xr-x 1 root root 52280 May 3 07:11 platform.py
-rw-r--r-- 1 root root 37811 Jul 30 13:02 platform.pyc
-rw-r--r-- 1 root root 15176 May 3 07:11 plistlib.py
-rw-r--r-- 1 root root 8416 May 3 07:11 popen2.py
-rw-r--r-- 1 root root 12388 May 3 07:11 poplib.py
-rw-r--r-- 1 root root 13943 Jul 31 20:26 poplib.pyc
-rw-r--r-- 1 root root 8003 May 3 07:11 posixfile.py
-rw-r--r-- 1 root root 13182 May 3 07:11 posixpath.py
-rw-r--r-- 1 root root 11723 Jul 30 13:02 posixpath.pyc
-rw-r--r-- 1 root root 11932 May 3 07:11 pprint.py
-rw-r--r-- 1 root root 10669 Jul 30 13:02 pprint.pyc
-rwxr-xr-x 1 root root 23466 May 3 07:11 profile.py
-rw-r--r-- 1 root root 27214 May 3 07:11 pstats.py
-rw-r--r-- 1 root root 4869 May 3 07:11 pty.py
-rw-r--r-- 1 root root 5930 May 3 07:11 py_compile.py
-rw-r--r-- 1 root root 13282 May 3 07:11 pyclbr.py
-rwxr-xr-x 1 root root 92675 May 3 07:11 pydoc.py
drwxr-xr-x 2 root root 4096 Jul 30 12:58 pydoc_data
-rwxr-xr-x 1 root root 6969 May 3 07:11 quopri.py
-rw-r--r-- 1 root root 6825 Jul 30 13:02 quopri.pyc
-rw-r--r-- 1 root root 32237 May 3 07:11 random.py
-rw-r--r-- 1 root root 26680 Jul 30 13:02 random.pyc
-rw-r--r-- 1 root root 12984 May 3 07:11 re.py
-rw-r--r-- 1 root root 13602 Jul 30 13:02 re.pyc
-rw-r--r-- 1 root root 4296 May 3 07:11 repr.py
-rw-r--r-- 1 root root 20148 May 3 07:11 rexec.py
-rw-r--r-- 1 root root 33295 May 3 07:11 rfc822.py
-rw-r--r-- 1 root root 33171 Jul 30 13:02 rfc822.pyc
-rw-r--r-- 1 root root 5866 May 3 07:11 rlcompleter.py
-rw-r--r-- 1 root root 7202 May 3 07:11 robotparser.py
-rw-r--r-- 1 root root 10698 May 3 07:11 runpy.py
-rw-r--r-- 1 root root 5091 May 3 07:11 sched.py
-rw-r--r-- 1 root root 19050 May 3 07:11 sets.py
-rw-r--r-- 1 root root 17884 May 3 07:11 sgmllib.py
-rw-r--r-- 1 root root 393 May 3 07:11 sha.py
-rw-r--r-- 1 root root 8078 May 3 07:11 shelve.py
-rw-r--r-- 1 root root 11137 May 3 07:11 shlex.py
-rw-r--r-- 1 root root 18302 May 3 07:11 shutil.py
-rw-r--r-- 1 root root 18947 Jul 30 13:02 shutil.pyc
drwxr-xr-x 51 root root 4096 Aug 21 16:21 site-packages
-rw-r--r-- 1 root root 20288 May 3 07:11 site.py
-rw-r--r-- 1 root root 20741 Jul 30 13:02 site.pyc
-rwxr-xr-x 1 root root 18543 May 3 07:11 smtpd.py
-rwxr-xr-x 1 root root 30703 May 3 07:11 smtplib.py
-rw-r--r-- 1 root root 30625 Jul 30 13:02 smtplib.pyc
-rw-r--r-- 1 root root 5973 May 3 07:11 sndhdr.py
-rw-r--r-- 1 root root 20485 May 3 07:11 socket.py
-rw-r--r-- 1 root root 16778 Jul 30 13:02 socket.pyc
drwxr-xr-x 3 root root 4096 Jul 30 12:58 sqlite3
-rw-r--r-- 1 root root 384 May 3 07:11 sre.py
-rw-r--r-- 1 root root 16427 May 3 07:11 sre_compile.py
-rw-r--r-- 1 root root 11351 Jul 30 13:02 sre_compile.pyc
-rw-r--r-- 1 root root 7137 May 3 07:11 sre_constants.py
-rw-r--r-- 1 root root 6203 Jul 30 13:02 sre_constants.pyc
-rw-r--r-- 1 root root 26798 May 3 07:11 sre_parse.py
-rw-r--r-- 1 root root 19928 Jul 30 13:02 sre_parse.pyc
-rw-r--r-- 1 root root 15611 May 3 07:11 ssl.py
-rw-r--r-- 1 root root 15118 Jul 30 13:02 ssl.pyc
-rw-r--r-- 1 root root 1718 May 3 07:11 stat.py
-rw-r--r-- 1 root root 2933 Jul 30 13:02 stat.pyc
-rw-r--r-- 1 root root 898 May 3 07:11 statvfs.py
-rw-r--r-- 1 root root 20756 May 3 07:11 string.py
-rw-r--r-- 1 root root 21181 Jul 30 13:02 string.pyc
-rw-r--r-- 1 root root 12449 May 3 07:11 stringold.py
-rw-r--r-- 1 root root 13522 May 3 07:11 stringprep.py
-rw-r--r-- 1 root root 14947 Aug 3 09:01 stringprep.pyc
-rw-r--r-- 1 root root 82 May 3 07:11 struct.py
-rw-r--r-- 1 root root 262 Jul 30 13:02 struct.pyc
-rw-r--r-- 1 root root 54425 May 3 07:11 subprocess.py
-rw-r--r-- 1 root root 40669 Jul 30 13:02 subprocess.pyc
-rw-r--r-- 1 root root 16537 May 3 07:11 sunau.py
-rw-r--r-- 1 root root 1399 May 3 07:11 sunaudio.py
-rwxr-xr-x 1 root root 2056 May 3 07:11 symbol.py
-rw-r--r-- 1 root root 7518 May 3 07:11 symtable.py
-rw-r--r-- 1 root root 25192 May 3 07:11 sysconfig.py
-rw-r--r-- 1 root root 17889 Jul 30 13:02 sysconfig.pyc
-rwxr-xr-x 1 root root 11336 May 3 07:11 tabnanny.py
-rw-r--r-- 1 root root 89070 May 3 07:11 tarfile.py
-rw-r--r-- 1 root root 78964 Jul 30 13:02 tarfile.pyc
-rw-r--r-- 1 root root 21808 May 3 07:11 telnetlib.py
-rw-r--r-- 1 root root 17875 May 3 07:11 tempfile.py
-rw-r--r-- 1 root root 20878 Jul 30 13:02 tempfile.pyc
-rw-r--r-- 1 root root 16848 May 3 07:11 textwrap.py
-rw-r--r-- 1 root root 11969 Jul 30 13:02 textwrap.pyc
-rw-r--r-- 1 root root 1002 May 3 07:11 this.py
-rw-r--r-- 1 root root 32720 May 3 07:11 threading.py
-rw-r--r-- 1 root root 30704 Jul 30 13:02 threading.pyc
-rw-r--r-- 1 root root 12059 May 3 07:11 timeit.py
-rw-r--r-- 1 root root 3142 May 3 07:11 toaiff.py
-rwxr-xr-x 1 root root 2944 May 3 07:11 token.py
-rw-r--r-- 1 root root 3931 Jul 30 13:02 token.pyc
-rw-r--r-- 1 root root 16465 May 3 07:11 tokenize.py
-rw-r--r-- 1 root root 14253 Jul 30 13:02 tokenize.pyc
-rw-r--r-- 1 root root 30152 May 3 07:11 trace.py
-rw-r--r-- 1 root root 11255 May 3 07:11 traceback.py
-rw-r--r-- 1 root root 12083 Jul 30 13:02 traceback.pyc
-rw-r--r-- 1 root root 879 May 3 07:11 tty.py
-rw-r--r-- 1 root root 2040 May 3 07:11 types.py
-rw-r--r-- 1 root root 2644 Jul 30 13:02 types.pyc
drwxr-xr-x 3 root root 4096 Jul 30 13:02 unittest
-rw-r--r-- 1 root root 58756 May 3 07:11 urllib.py
-rw-r--r-- 1 root root 53200 Jul 30 13:02 urllib.pyc
-rw-r--r-- 1 root root 51126 May 3 07:11 urllib2.py
-rw-r--r-- 1 root root 48898 Jul 30 13:02 urllib2.pyc
-rw-r--r-- 1 root root 14379 May 3 07:11 urlparse.py
-rw-r--r-- 1 root root 14211 Jul 30 13:02 urlparse.pyc
-rw-r--r-- 1 root root 1627 May 3 07:11 user.py
-rwxr-xr-x 1 root root 6555 May 3 07:11 uu.py
-rw-r--r-- 1 root root 4427 Jul 30 13:02 uu.pyc
-rw-r--r-- 1 root root 21095 May 3 07:11 uuid.py
-rw-r--r-- 1 root root 22082 Jul 30 13:02 uuid.pyc
-rw-r--r-- 1 root root 14044 May 3 07:11 warnings.py
-rw-r--r-- 1 root root 13645 Jul 30 13:02 warnings.pyc
-rw-r--r-- 1 root root 18099 May 3 07:11 wave.py
-rw-r--r-- 1 root root 10693 May 3 07:11 weakref.py
-rw-r--r-- 1 root root 15221 Jul 30 13:02 weakref.pyc
-rw-r--r-- 1 root root 21704 May 3 07:11 webbrowser.py
-rw-r--r-- 1 root root 3353 May 3 07:11 whichdb.py
drwxr-xr-x 2 root root 4096 Jul 30 12:58 wsgiref
-rw-r--r-- 1 root root 187 May 3 07:11 wsgiref.egg-info
-rw-r--r-- 1 root root 5563 May 3 07:11 xdrlib.py
drwxr-xr-x 6 root root 4096 Jul 30 13:02 xml
-rw-r--r-- 1 root root 34865 May 3 07:11 xmllib.py
-rw-r--r-- 1 root root 51242 May 3 07:11 xmlrpclib.py
-rw-r--r-- 1 root root 46572 Jul 30 13:02 xmlrpclib.pyc
-rw-r--r-- 1 root root 54020 May 3 07:11 zipfile.py
-rw-r--r-- 1 root root 39663 Jul 30 13:02 zipfile.pyc
cd /volume1/ALLEN/BeautifulSoup-3.2.1
Daar staat met ls -al:
drwxr-xr-x 2 admin users 4096 Sep 22 13:56 .
drwxrwxrwx 27 root root 4096 Sep 22 13:52 ..
-rw-r--r-- 1 admin users 79567 Feb 16 2012 BeautifulSoup.py
-rw-r--r-- 1 admin users 37589 Feb 16 2012 BeautifulSoupTests.py
-rw-r--r-- 1 admin users 970 Feb 16 2012 PKG-INFO
-rw-r--r-- 1 admin users 2721 Jan 14 2011 setup.py
Kopieer nu BeautifulSoup.py naar de directory Python 2.7 met:
cp BeautifulSoup.py /volume1/@appstore/Python/usr/lib/python2.7
cp: can't create '/volume1/@appstore/Python/usr/lib/python2.7/BeautifulSoup.py': Permission denied
OEPS.....
opnieuw, iets anders:
cp /volume1/ALLEN/BeautifulSoup-3.2.1/BeautifulSoup.py /volume1/@appstore/P
ython/usr/lib/python2.7/BeautifulSoup.py
Zelfde probleem....
Exit and login met Putty, maar nu als root en met het paswoord van de synology admin.
cp /volume1/ALLEN/BeautifulSoup-3.2.1/BeautifulSoup.py /volume1/@appstore/P
ython/usr/lib/python2.7/BeautifulSoup.py
Ga naar de dir:
cd /volume1/@appstore/Python/usr/lib/python2.7/
and ls
en je ziet tussen allerlei andere dingen Beautiful.py staan.
De openERP module die BeautifulSoup nodig had, blijkt nu keurig te installeren te zijn en werkt!