4

私は一日中解決策を探していましたが、機能するものを見つけることができないようです.時代遅れまたは機能していないように見えるリードがたくさんあります.

私は基本的に、データベース データからドキュメント ページをプログラムで作成できるように、Python で hello-world 状態に到達しようとしています。

libreoffice と openoffice の両方をインストールしてみました。ファイルをデフォルトの場所にインストールしました(Windows 7(C:\ Program Files(x86)\ LibreOffice 4)を実行し、ubuntu 14をインストールし、デフォルトパス(/ usr/lib/libreoffice)も試しました)。

sdk フォルダー内のバット スクリプト () に問題があったため、Windows の c:\libreoffice スペースなしでベース ディレクトリに再インストールしようとしました。

PYTHON PATH設定を変更し、さまざまなバージョンのpythonをインストールしようとして、多くの操作を試みました。

openoffice ドキュメントを作成するために Python をセットアップする方法について誰かアドバイスはありますか? インポートエラーなしで「import uno」ステートメントを通過しただけですか? 私はそれがばかげていると確信していますが、私は完全に途方に暮れています。

前もって感謝します。

編集:私が得たエラーは、標準モジュールが見つからないというエラーでした

C:\Libreoffice\program\python-core-3.3.3\bin>python
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'uno'

編集 2: プログラム フォルダーで uno.py を検索して見つけたときに、「uno」の問題を回避しました。それを私のpythonパスに追加し、unoをロードしました。ただし、別のエラーが発生するようになりました。

Traceback (most recent call last):
  File "C:\Users\Alex\workspace\OOTest\test\test.py", line 7, in <module>
    import uno
  File "C:\Libreoffice\program\uno.py", line 21, in <module>
    import pyuno
ImportError: DLL load failed: The specified module could not be found.

私は検索を行い、次のことを見つけました。

C:\Libreoffice>find|grep pyuno*
./program/pyuno.pyd
./program/services/pyuno.rdb
./share/registry/pyuno.xcd

プログラム フォルダーを Windows パス (既に Python パスにある) に追加しようとしましたが、同じエラーが発生します。

ピュノのロードについて何かアドバイスはありますか?

4

1 に答える 1

1

別の python から uno を実行するには、3 つの値を設定する必要があることがわかりました。Win7 では、ユーザー アカウントのユーザー定義環境値として 3 つすべてを設定できます。作業を開始するには、ログオフして再度ログオンします。

いくつかの試行錯誤の後、次の解決策を思いつきました。

pythoninstallation の lib\site-packages フォルダーに、次のようなインストール サブフォルダー プログラムへのパスを含む OpenOffice.pth ファイルを追加します。

content of OpenOffice.path:
C:\Program Files (x86)\OpenOffice.org 4\basis\program

スクリプト内からこの値を設定するために、Python 2.7 を使用して Win7 で動作させることができませんでした。そのため、.pth ファイルを使用します。OpenOffice 3.x では、パスは C:\Program Files (x86)\OpenOffice.org 3\basis\program になります。

import os
os.environ["URE_BOOTSTRAP"] = r"vnd.sun.star.pathname:C:\Program Files (x86)\OpenOffice 4\program\fundamental.ini"
os.environ["PATH"] += r";C:\Program Files (x86)\OpenOffice 4\program"
import uno

スクリプト内で、2 つの環境値を basic.ini とサブフォルダー \program に設定します。

OpenOffice 3.x では、2 番目の環境は次のようになります。

os.environ["PATH"] += r";C:\Program Files (x86)\OpenOffice.org 3\URE\bin"

もちろん、インストールに合わせてこれらのパスを変更する必要があります。同じマシンで異なるバージョンの OpenOffice または LibreOffice を実行している場合に競合が発生するため、uno をインポートした直後に BOOTSTRAP を削除することをお勧めします。

os.environ.pop("URE_BOOTSTRAP")

重要!これは、Python が OpenOffice に付属の Python と同じバージョンである場合にのみ機能します。つまり、OpenOffice 3.x python 2.6 OpenOffice 4.x python 2.7 LibreOffice 4.x python 3.3

于 2015-03-11T11:31:47.813 に答える