前の関連記事: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 zlibWindows版も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 件のコメント:
コメントを投稿