2009-06-15 20 views
7

Ở nhà, trên Linux, tôi đã thử nghiệm với pyUNO để điều khiển OpenOffice.org bằng Python. Tôi đã sử dụng Python 2.6. Tất cả dường như hoạt động tốt.Phát triển OpenOffice.org với pyUno ​​cho Windows — Python nào?

Bây giờ tôi nghĩ mình sẽ thử một trong các tập lệnh của mình (run a graphical diff for ODF doc) trên Windows. Nhưng khi tôi đã cố gắng để chạy nó, tôi nhận:

ImportError: No module named uno 

Theo udk: Python UNO BridgeOpenOffice.org Running Python on Windows, tôi phải chạy Python interpretter được cài đặt với OpenOffice.org.

Q1: Có phải Python 2.6 có sẵn cho OpenOffice.org không?

Tuy nhiên, thông dịch viên đó là Python 2.3, cũ hơn một chút! và tập lệnh của tôi sử dụng tính năng không được hỗ trợ bởi mô-đun 2.3 (subprocess).

Q2: PyUNO có thể lập trình trên Windows được thực hiện với phần bổ sung pyUNO vào bản phân phối Python chuẩn, không phải Python được đóng gói với OpenOffice.org?

Trong tìm kiếm của mình cho đến nay, tôi không thể tìm thấy bất kỳ dấu hiệu nào cho thấy có một mô-đun pyuno có sẵn để cài đặt vào bản phân phối chuẩn Python Windows ... đó là một điều bất ngờ vì trên Ubuntu Linux, UNO được hỗ trợ tốt trong Python chỉ bằng cách:

apt-get install python-uno 

một vấn đề khác với điều này là: những gì nếu tôi muốn thực hiện một chương trình sử dụng cả hai pyUNO và thư viện của bên thứ 3 khác? Tôi không thể cài đặt pyUNO vào cài đặt Python của mình trên Windows, vì vậy tôi bị buộc phải cài đặt các thư viện bên thứ 3 khác của tôi vào Python được đóng gói của OpenOffice.org? Nó gây khó khăn cho việc tạo ra các chương trình lớn hơn, đầy đủ tính năng hơn.

Tôi có thiếu thứ gì đó hay hiện tại chúng tôi đang gặp phải tình huống này?

Trả lời

3

Bạn có thể nhập uno vào trăn hệ thống của bạn trên hệ thống Win32. (Chưa phải Python 3). Hướng dẫn tại http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36370&p=166783 Nó không phải là khó khăn - nhập khẩu ba biến môi trường, và nối thêm một mục vào pythonpath của bạn.

Để linh hoạt hơn, bạn có thể sử dụng cầu COM-UNO thay vì cầu Python-UNO. Cú pháp nói chung khá giống nhau và bạn có thể sử dụng bất kỳ phiên bản Python nào (bao gồm Python3). Thông tin tại http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36608&p=167909

5

Mỗi openoffice's docs, phiên bản Python được hỗ trợ là WAY phía sau - "Nỗ lực di chuyển PyUNO sang Python 2.5 tiếp tục", 2.6 thậm chí không trên bản đồ. Vì vậy, "mắc kẹt với tình trạng này bây giờ" là một đánh giá công bằng! -)

4

OpenOffice.org 3.1 đi kèm với Python 2.6.1. (Khi tôi nhớ lại, đó là một sự hợp nhất khá phút cuối cùng đã đánh dấu một số người, nhưng nó ở đó và nó hoạt động.) Bây giờ các tài liệu là điều duy nhất vô vọng lạc hậu. :)

Các vấn đề liên quan