Недавно я обновился до Ubuntu 13.10 и обнаружил, что пакет python-uno больше не доступен. Вместо этого я нахожу пакет python3-uno. К сожалению, мне нужна поддержка Python uno libreoffice для Python 2.7, поскольку я пытаюсь использовать Appy POD ( http://appyframework.org/pod.html ), который еще не поддерживает Python 3. Любые идеи как я могу добавить поддержку моих существующих пакетов Ubuntu или есть PPA или что-то вроде того, что я могу получить версию libreoffice, которая поддерживает Python 2.7?
См. Этот ответ. https://askubuntu.com/a/418550/4397 В нескольких словах: поддержка python2 в пакетах deb для LibreOffice прекращена, начиная с Ubuntu 13.10. Вы также можете перекомпилировать libreoffice с помощью этого скрипта https://gist.github.com/hbrunn/6f4a007a6ff7f75c0f8b
Для Ubuntu 13.10 и более поздних версий вам необходимо установить OpenOffice 4.1.1 вручную.
Удалить предыдущую версию:
sudo apt-get remove libreoffice* openoffice*
sudo apt-get autoremove
Установка Apache OpenOffice 4.1.1
на 64-разрядную версию Ubuntu:
wget sourceforge.net/projects/openofficeorg.mirror/files/4.1.1/binaries/en-GB/Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
tar -xzvf Apache_OpenOffice_4.1.1_Linux_x86-64_install-deb_en-GB.tar.gz
cd en-GB/DEBS
sudo dpkg -i *.deb
cd desktop-integration
sudo dpkg -i *.deb
в 32-битной Ubuntu:
wget sourceforge.net/projects/openofficeorg.mirror/files/4.1.1/binaries/en-GB/Apache_OpenOffice_4.1.1_Linux_x86_install-deb_en-GB.tar.gz
tar -xzvf Apache_OpenOffice_4.1.1_Linux_x86_install-deb_en-GB.tar.gz
cd en-GB/DEBS
sudo dpkg -i *.deb
cd desktop-integration
sudo dpkg -i *.deb
нажмите uno.pth для python2.7
echo /opt/openoffice4/program |sudo tee /usr/lib/python2.7/dist-packages/uno.pth
Вот обновленный скрипт для сборки и установки LibreOffice 4.4.7.2 с Python 2.7 в Ubuntu 14.04 из здесь :
#!/bin/bash -xe
sudo apt-get update
sudo apt-get build-dep libreoffice
sudo apt-get install pkg-config
mkdir libreoffice
cd libreoffice
wget https://downloadarchive.documentfoundation.org/libreoffice/old/4.4.7.2/src/libreoffice-4.4.7.2.tar.xz
wget https://downloadarchive.documentfoundation.org/libreoffice/old/4.4.7.2/src/libreoffice-dictionaries-4.4.7.2.tar.xz
wget https://downloadarchive.documentfoundation.org/libreoffice/old/4.4.7.2/src/libreoffice-help-4.4.7.2.tar.xz
wget https://downloadarchive.documentfoundation.org/libreoffice/old/4.4.7.2/src/libreoffice-translations-4.4.7.2.tar.xz
tar -xf libreoffice-4.4.7.2.tar.xz
tar -xf libreoffice-dictionaries-4.4.7.2.tar.xz
tar -xf libreoffice-help-4.4.7.2.tar.xz
tar -xf libreoffice-translations-4.4.7.2.tar.xz
cd libreoffice-4.4.7.2/
export PYTHON=/usr/bin/python2.7 PYTHON_CFLAGS="$(pkg-config --cflags python-2.7)" PYTHON_LIBS="$(pkg-config --libs python-2.7)"
./autogen.sh --with-package-format=deb --enable-epm
make -j6
sudo dpkg -i workdir/installation/LibreOffice_Dev/deb/install/LibreOfficeDev_4.4.7.2_Linux_x86-64_deb/DEBS/*.deb
# SDK, optional.
# sudo dpkg -i workdir/installation/LibreOffice_Dev_SDK/deb/install/LibreOfficeDev_4.4.7.2_Linux_x86-64_deb_sdk/DEBS/lodevbasis4.4-sdk_4.4.7.2-2_amd64.deb
sudo apt-get install -f
echo /opt/libreofficedev4.4/program | sudo tee /usr/lib/python2.7/dist-packages/uno.pth
И тогда uno нужен этот код для запустите правильно:
# XXX: LibreOffice UNO bootstrap.
sys.path.append('/opt/libreofficedev4.4/program')
os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:/opt/libreofficedev4.4/program/fundamentalrc')
его можно поместить прямо в верхнюю часть /opt/libreofficedev4.4/program/uno.py
(хотя это и забавно, эти изменения будут потеряны, если вы обновите пакет).