前の関連記事:linuxBean14.04(175)Anacondaの運用方法を考える
LibreOffice5.4.1のインストール
LibreOffice5.2のバンドルPythonのバージョンがlinuxBean14.04ではPython3.5.0なのに対して、Windows10ではPython3.3.5になっており、含まれるモジュールが違うので不自由でした。
LibreOffice5.4.1ではLinux版もWindows版もバンドルPythonのバージョンは3.5.4になっていました。
私のPCにはLibreOfficeDev 5.4が入っているのでまずそれをアンインストールしました。
sudo apt-get remove --purge libreofficedev5.4.0*
linuxBean14.04へのインストールにはLibreOffice最新版 | LibreOffice - オフィススイートのルネサンスからdeb版をダウンロードしたLibreOffice_5.4.1_Linux_x86_deb.tar.gz、LibreOffice_5.4.1_Linux_x86_deb_langpack_ja.tar.gz、LibreOffice_5.4.1_Linux_x86_deb_sdk.tar.gzを使いました。
それぞれ解凍して、でてきたDEBSフォルダでTerminalを起動しsudo dpkg -i *.*でインストールしました。
LibreOffice_5.4.1_Linux_x86_deb.tar.gzは2回sudo dpkg -i *.*をしないとメニューにアイコンが登録されないことはこれまでと同様です。
最近はオートメーションではofficehelper.pyを使ってパイプ接続しているので、ソケット接続用のアイコンは作りませんでした(LibreOffice5(1)officehelper.bootstrap()を使う)。
linuxBean14.04(173)LibreOffice5.4.0のインストールで仮想マシンを捨てる羽目になるということがあったので、linuxBean14.04のアップデートはまだしていません。
WindowsにはWindowsXPにLibreOffice_5.4.1_Win_x86.msiを使ってインストールしました、、、LibreOfficeは動くのですがPythonマクロは使えないし、コマンドプロンプトでもバンドルPythonは起動できませんでした。
Pythonは3.5からWindowsXP未対応のようです、、、Windows版のバンドルPythonが3.3でとどまっていたのはこれが理由かもしれませんね。
(2017.11.2追記。WindowsXPにLibreOffice5.4.1をインストールしたところ、マクロセレクターでPythonマクロが表示されなくなっていました。さらにLibreOffice5.4.2をインストールしたところLibreOffice自体が起動しなくなりました、、、)
Windows10 Home 64bitに64bit版LibreOfficeをインストールする
Windows版は結局Windows10 Home 64bitにLibreOffice_5.4.1_Win_x64.msiを使ってインストールしました。
LibreOffice5.2の32bit版がインストールされていたのですが、それは勝手にアンインストールされてしまいました。
C:\Program Files (x86)\LibreOffice 5\program\python-core-3.3.0フォルダだけ残っていたのでそれは削除しました。
Windows10では問題なくPythonマクロが動きました。
英語版に日本語言語パックを追加インストールするLinux版と違ってWindows版で英語版と日本語版を切り替えるには、インストール時に英語も選択しておかないといけません。
今回はそれを知らずに日本語だけインストールしまったので英語を追加インストールします。
LibreOffice_5.4.1_Win_x64.msiを再度起動させるか、スタートボタンを右クリック→アプリと機能、LibreOffice5.4を選択して「変更」ボタンをクリックします。
「変更」を選択して「次へ」。
「追加のユーザーインターフェイス言語」→英語(米国)をクリックして、「この機能はローカルハードドライブにインストールされます。」を選択しました。
あとは「次へ」を選択したインストールを完了させます。
ChromeとFirefoxを起動したままインストールしましたが、日本語版のときはChromeを終了するように指示され、英語版のときはFirefoxを終了するように指示されました、、、何の違い?
次の問題はJRE(Java runtime environment)が認識されない問題です。
今回使用したWindows10ではJavaがすでにインストールしてあり、LibreOffice5.2ではJREが認識されていました。
スタートボタン→Java→Javaの構成。
Javaタブで確認すると1.8.0のx86版がインストールされていました。
libreoffice base 5.1 for mac java runtime issues [closed] - Ask LibreOffice
MacOSではJREではなくJDK(Java Development Kit)をインストールすれば解決するようです。
Troubleshooting Open/LibreOffice and Java (View topic) • Apache OpenOffice Community Forum
WindowsではこのQ&Aに答えがありそうなのですが、Windows10にこれ以上ソフトはインストールしたくないのでまた必要に迫られてから考えたいと思います。
64bit版のJREをインストールすれば解決?
Javaのインストールをせずに、マクロセレクターを起動するたびにでてくるこのダイアログを出ないようにしたいのですが、いまのところやり方がわかりません。
(2017.10.10追記。拡張機能APSOを使うとJavaのことを聞かれずにPythonマクロが実行できるようになります。LibreOffice5(87)Pythonマクロのための拡張機能APSOのインストール参照。)
「いいえ」を選択すると一旦ダイアログはでてこなくなるのですが、LibreOfficeを起動し直すとまた出てきます。
LibreOfficeをインストールするときの注意点: LibreOfficeで行こう!
ここに書いてある「非線形計画法向けソルバー」「Report Builder」「MediaWiki Publisher」の3つをアンイストールしてみましたがダメでした。
「拡張機能」をすべてアンインストールしてJavaScriptもBeanShellのマクロも使えなくしましたが変わりませんでした。
PythonマクロにはJREは不要なはずなのでこのダイアログは出ないようにしてほしいものですね。
LibreOffice5.4.1で利用可能なPythonモジュール一覧
LibreOffice5(34)LibreOffice5.2のバンドルPythonで利用可能なモジュール一覧と同様にしてhelp('modules')でモジュール一覧を取得しました。
~/.local/lib/python3.5/site-packagesにsites.pthを置いているときはそれをのけておかないとバンドルPythonのモジュール以外も含まれてしまいます。
lib2to3以外のlibで始まるモジュールはsoファイルなので表示は消そうと思ったのですが、結構面倒なのでそのまま表示しています。
pq@HP6730b1:/opt/libreoffice5.4/program$ ./python
Python 3.5.4 (default, Aug 25 2017, 12:59:15)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help('modules')
Please wait a moment while I gather a list of all available modules...
__future__ getopt libneon mmap
__main__ getpass libnspr4 mock
_ast gettext libnss3 modulefinder
_bisect glob libnssckbi msgbox
_bootlocale grp libnssdbm3 multiprocessing
_codecs gzip libnssutil3 netrc
_codecs_cn hashlib libodbclo nis
_codecs_hk heapq libodfflatxmllo nntplib
_codecs_iso2022 hmac liboffacclo ntpath
_codecs_jp html libofficebean nturl2path
_codecs_kr http liboglcanvaslo numbers
_codecs_tw imaplib libooxlo officehelper
_collections imghdr libpasswordcontainerlo opcode
_collections_abc imp libpcrlo operator
_compat_pickle importlib libpdffilterlo optparse
_compression inspect libpdfimportlo os
_crypt io libpdfiumlo ossaudiodev
_csv ipaddress libplc4 parser
_ctypes itertools libplds4 pathlib
_ctypes_test json libpostgresql-sdbc-impllo pdb
_datetime keyword libpostgresql-sdbclo pgen2
_decimal lib2to3 libpricinglo pickle
_dummy_thread libEngine12 libprotocolhandlerlo pickletools
_elementtree libOGLTranslo libproxyfaclo pipes
_functools libPresentationMinimizerlo libpython3 pkgutil
_hashlib libPresenterScreenlo libpythonloaderlo platform
_heapq libabplo libpyuno plistlib
_imp libacclo libqstart_gtklo poplib
_io libaffine_uno_uno librecentfile posix
_json libanalysislo libreflectionlo posixpath
_locale libanimcorelo libreglo pprint
_lsprof libavmediagst libreslo profile
_markupbase libavmediagst_0_10 librptlo pstats
_multibytecodec libavmediaogl librptuilo pty
_multiprocessing libbasctllo librptxmllo pwd
_opcode libbasprovlo libsal_textenclo py_compile
_operator libbiblo libscdlo pyclbr
_osx_support libbinaryurplo libscfiltlo pydoc
_pickle libbootstraplo libsclo pydoc_data
_posixsubprocess libcached1 libscnlo pyexpat
_pydecimal libcairocanvaslo libscriptframe pythonloader
_pyio libcalclo libscuilo pythonscript
_random libcanvasfactorylo libsdbc2 pyuno
_sha1 libchartcontrollerlo libsdbtlo queue
_sha256 libchartcorelo libsddlo quopri
_sha512 libchartopengllo libsdfiltlo random
_signal libclewlo libsdlo re
_sitebuiltins libclucene libsduilo reprlib
_socket libcmdmaillo libsimplecanvaslo resource
_sre libcollator_data libslideshowlo result
_ssl libctllo libsmdlo rlcompleter
_stat libcuilo libsmime3 runner
_string libdatelo libsmlo runpy
_strptime libdbalo libsoftokn3 sched
_struct libdbaselo libsolverlo select
_symtable libdbaxmllo libspelllo selectors
_sysconfigdata libdbmmlo libsqlite3 shelve
_testbuffer libdbplo libsrtrs1 shlex
_testcapi libdbpool2 libssl3 shutil
_testimportmultiple libdbulo libstocserviceslo signal
_testmultiphase libdeploymentgui libstoragefdlo signals
_thread libdict_ja libstorelo site
_threading_local libdict_zh libstringresourcelo smtpd
_tracemalloc libdlgprovlo libsvgfilterlo smtplib
_warnings libembobj libsvgiolo sndhdr
_weakref libemboleobj libswdlo socket
_weakrefset libepoxy libswlo socketserver
abc libevoablo libswuilo spwd
aifc libevtattlo libsysshlo sre_compile
antigravity libexpwraplo libt602filterlo sre_constants
argparse libfilelo libtextconv_dict sre_parse
array libfirebird_sdbclo libtextconversiondlgslo ssl
ast libflashlo libtextfdlo stat
asynchat libflatlo libucpchelp1 statistics
asyncore libforlo libucpcmis1lo string
atexit libforuilo libucpdav1 stringprep
audioop libfps_officelo libucpextlo struct
base64 libfreebl3 libucpftp1 subprocess
bdb libfreeblpriv3 libucpgio1lo suite
binascii libfrmlo libucphier1 sunau
binhex libfwllo libucpimagelo symbol
bisect libfwmlo libucppkg1 symtable
builtins libgcc3_uno libucptdoc1lo sys
bz2 libgielo libunoidllo sysconfig
cProfile libgraphicfilterlo libunopkgapp syslog
calendar libguesslanglo libunordflo tabnanny
case libhsqldb libunsafe_uno_uno tarfile
cgi libhwplo libupdatecheckuilo telnetlib
cgitb libhyphenlo libupdatefeedlo tempfile
chunk libi18nlangtag libupdchklo termios
cmath libi18nsearchlo libuuresolverlo textwrap
cmd libicglo libvbaeventslo this
code libindex_data libvbahelperlo threading
codecs libintrospectionlo libvbaobjlo time
codeop libinvocadaptlo libvbaswobjlo timeit
collections libinvocationlo libvclcanvaslo token
colorsys libiolo libvclplug_genlo tokenize
compileall libjava_uno libvclplug_gtklo trace
concurrent libjavaloaderlo libvclplug_kde4lo traceback
configparser libjavavmlo libwpftcalclo tty
contextlib libjdbclo libwpftdrawlo turtle
copy libjpipe libwpftimpresslo types
copyreg libjuh libwpftwriterlo typing
crypt libjuhx libwriterfilterlo unicodedata
csv libjvmaccesslo libwriterperfectlo unittest
ctypes libjvmfwklo libxmlfalo uno
datetime libkde4be1lo libxmlfdlo unohelper
decimal libldapbe2lo libxmlreaderlo urllib
difflib liblnthlo libxmlsecurity util
dis liblocaledata_en libxoflo uu
distutils liblocaledata_es libxsec_fw uuid
doctest liblocaledata_euro libxsec_xmlsec warnings
dummy_threading liblocaledata_others libxsltdlglo wave
email liblog_uno_uno libxsltfilterlo weakref
encodings libloglo linecache webbrowser
enum liblosessioninstalllo loader wizards
errno liblpsolve55 locale wsgiref
faulthandler liblwpftlo logging xdrlib
fcntl libmergedlo lzma xml
filecmp libmigrationoo2lo macpath xmlrpc
fileinput libmigrationoo3lo macurl2path xxlimited
fnmatch libmorklo mailbox xxsubtype
formatter libmozbootstraplo mailcap zipfile
fractions libmsformslo mailmerge zipimport
ftplib libmswordlo main zlib
functools libmtfrendererlo marshal
gc libmysqllo math
genericpath libnamingservicelo mimetypes
今度はWindows版バンドルPythonのモジュールを調べます。最近Windows10のシェルが勝手にPowerShellに変わってしまいましたが、pythonシェルをなぜか起動できないのでコマンドプロンプトでやります。
スタートボタンをクリックして、キーボードからcmdと入力してEnterキーを押すとコマンドプロンプトが起動します。
"C:\Program Files\LibreOffice 5\program\python.exe"
これでLibreOfficeのバンドルPythonが起動します。
あとの操作はlinuxBeanと同じです。
C:\Users\pq>"C:\Program Files\LibreOffice 5\program\python.exe"
Python 3.5.4 (default, Aug 25 2017, 14:36:43) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> help('modules')
Please wait a moment while I gather a list of all available modules...
__future__ asynchat ipaddress sched
__main__ asyncore itertools select
_ast atexit json selectors
_bisect audioop keyword shelve
_bootlocale base64 lib shlex
_codecs bdb lib2to3 shutil
_codecs_cn binascii linecache signal
_codecs_hk binhex loader signals
_codecs_iso2022 bisect locale site
_codecs_jp builtins logging smtpd
_codecs_kr bz2 lzma smtplib
_codecs_tw cProfile macpath sndhdr
_collections calendar macurl2path socket
_collections_abc case mailbox socketserver
_compat_pickle cgi mailcap sre_compile
_compression cgitb mailmerge sre_constants
_csv chunk main sre_parse
_ctypes cmath marshal ssl
_ctypes_test cmd math stat
_datetime code mimetypes statistics
_decimal codecs mmap string
_dummy_thread codeop mock stringprep
_elementtree collections modulefinder struct
_functools colorsys msgbox subprocess
_heapq compileall msvcrt suite
_imp concurrent multiprocessing sunau
_io configparser netrc symbol
_json contextlib nntplib symtable
_locale copy nt sys
_lsprof copyreg ntpath sysconfig
_markupbase crypt nturl2path tabnanny
_md5 csv numbers tarfile
_msi ctypes officehelper telnetlib
_multibytecodec datetime opcode tempfile
_multiprocessing decimal operator textwrap
_opcode difflib optparse this
_operator dis os threading
_osx_support distutils parser time
_pickle doctest pathlib timeit
_pydecimal dummy_threading pdb token
_pyio email pgen2 tokenize
_random encodings pickle trace
_sha1 enum pickletools traceback
_sha256 errno pipes tty
_sha512 faulthandler pkgutil turtle
_signal filecmp platform types
_sitebuiltins fileinput plistlib typing
_socket fnmatch poplib unicodedata
_sre formatter posixpath unittest
_ssl fractions pprint uno
_stat ftplib profile unohelper
_string functools pstats urllib
_strptime gc pty util
_struct genericpath py_compile uu
_symtable getopt pyclbr uuid
_testbuffer getpass pydoc warnings
_testcapi gettext pydoc_data wave
_thread glob pyexpat weakref
_threading_local gzip pythonloader webbrowser
_tracemalloc hashlib pythonscript winreg
_warnings heapq pyuno winsound
_weakref hmac queue wizards
_weakrefset html quopri wsgiref
_winapi http random xdrlib
abc imaplib re xml
aifc imghdr reprlib xmlrpc
antigravity imp result xxsubtype
argparse importlib rlcompleter zipfile
array inspect runner zipimport
ast io runpy zlib
Windows版もLinux版もバンドルPythonのバージョンは3.5.4になっていました。OpenJDKをアップデートするとLibreOfficeのマクロセレクターを起動するとLibreOfficeがクラッシュすることが判明
LibreOffice5.4.1をインストールした後linuxBean14.04で豆ボタン→設定→ソフトウェアの更新、でlinuxBean14.04をアップデートしました。
途中Grub-pcのダイアログがでてきましたが、よくわからないのでお勧め通りすべてにチェックをつけて次に進みました。
しかし、linuxBean14.04(173)LibreOffice5.4.0のインストールで仮想マシンを捨てる羽目になると、全く同じようにPythonマクロが起動しなくなりました。
マクロセレクタを起動しようとするとLibreOfficeが落ちます。
5.4に限らずすべてのバージョンのLibreOfficeで同様になってしまいます。
とりあえずマクロセレクターが起動しない理由がわかりました。
Javaとの相性が悪くなったようです。
ツール→オプション→LibreOffice→詳細、で「Java実行環境を使用」、のチェックをはずすとPythonマクロセレクターが起動できました。
でもそうするとJavaのマクロを起動できないし、Pythonマクロセレクタを起動するたびにJREを有効にするのか聞かれます。
(2017.10.10追記。拡張機能APSOを使うとJavaのことを聞かれずにPythonマクロが実行できるようになります。LibreOffice5(87)Pythonマクロのための拡張機能APSOのインストール参照。)
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n
JREを起動するときのこれらのパラメーターを削除してもやっぱりダメです。
OpenJDKのバージョンはアップデート前と後では次のようの変化していました。
openjdk-7-jdk 7u121-2.6.8-0ubuntu1.14.04.3
openjdk-8-jdk 8u111-b14-3~14.04.1
これはLibreOfficeのマクロセレクターが起動できます。
openjdk-7-jdk 7u151-2.6.11-0ubuntu1.14.04.1
openjdk-8-jdk 8u141-b15-3~14.04
これはLibreOfficeのマクロセレクターが起動せずLibreOfficeがクラッシュします。
LibreOfficeでOpenJDK7を指定してもOpenJDK8にしても同じことです。
参考にしたサイト
LibreOffice最新版 | LibreOffice - オフィススイートのルネサンス
バンドルPython付きのLibreOfficeをLinuxで使用するにはここからインストールします。
libreoffice base 5.1 for mac java runtime issues [closed] - Ask LibreOffice
MacOSではJREでなはなくJDKをインストールしないとJavaが認識されないようです。
Troubleshooting Open/LibreOffice and Java (View topic) • Apache OpenOffice Community Forum
Windows10でLibreOfficeにJREを認識させるQ&A。
LibreOfficeをインストールするときの注意点: LibreOfficeで行こう!
LibreOfficeのマクロセレクタを起動したときにJREが必要とのダイアログをでてこなくさせる方法はいまのところわかりません。
Windows 10 Creators Update を適用したら、「コマンドウィンドウをここで開く」がなくなった | UB Lab.
Windows10のデフォルトシェルをコマンドプロンプトに戻すにはレジストリをいじらないといけないようです。





0 件のコメント:
コメントを投稿