INSTALL 4.59 KB
Newer Older
1 2
INSTALL for Frescobaldi
=======================
3

4
You can run Frescobaldi without installing. Just unpack and then run:
5

6
    python3 frescobaldi
7

8 9 10
The Frescobaldi package is based on distutils. No build process is needed as
Frescobaldi is fully written in the interpreted Python language. To install in
the default location:
11

12
    sudo python3 setup.py install
13

14
To run Frescobaldi, then simply type
15

16
    frescobaldi
17

18
If you want to install into /usr instead of /usr/local:
19

20
    python3 setup.py install --prefix=/usr
21

22 23
If you have a Debian-based system such as Ubuntu, and you get the error
message "ImportError: No module named frescobaldi_app.main", try:
24

25
    python3 setup.py install --install-layout=deb
26

27
See the distutils documentation for more install options.
28

29 30 31 32 33 34 35
NOTE: Since 2.18, Frescobaldi depends on the python-ly module, which needs to
      be installed separately (see below). Previously, this Python module
      (named 'ly') was part of Frescobaldi. When installing Frescobaldi, be
      sure that old remnants of previous Frescobaldi installations are removed,
      otherwise Frescobaldi will use the old 'ly' module instead, resulting in
      various error messages.

36

37 38
Dependencies
============
39

40 41
Frescobaldi is written in Python and depends on Qt >= 5.4 and PyQt >= 5.4, and
uses the python-poppler-qt5 binding to Poppler for the built-in PDF preview.
42 43

For MIDI the PortMidi library is used, either via importing 'pypm',
44
'pyportmidi._pyportmidi', or, if that is not available, loading the pygame.pypm
45 46 47 48
module from pygame; or, as a last resort, embedding the PortMidi C-library via
ctypes. MIDI is optional.

Required:
49
    Python (>= 3.2):
50
        http://www.python.org/
51 52 53
    Qt5 (>= 5.4):
        http://qt.io/
    PyQt5 (>= 5.4):
54
        http://www.riverbankcomputing.co.uk/software/pyqt/
55
    python-ly (>= 0.9.4):
56
        https://pypi.python.org/pypi/python-ly
57 58
    Poppler:
        http://poppler.freedesktop.org/
59 60
    python-poppler-qt5:
        https://github.com/wbsoft/python-poppler-qt5
61

62
Optional but recommended:
63 64 65
    PortMidi:
        http://portmedia.sourceforge.net/portmidi/

66 67 68 69
Suggested:
    LilyPond:
        http://www.lilypond.org/

70
Of course, PyQt5, python-poppler-qt5, python-ly, and pypm or pyportmidi need
71
to be installed for the same Python version as Frescobaldi itself.
72

73 74 75 76 77 78
LilyPond is not a dependency of Frescobaldi, but of course you'll need to
install one or more versions of LilyPond to make sensible use of Frescobaldi!


"Freeze" installer
==================
79 80

The freeze.py script can create a self-contained Windows-installer, bundling all
81
of Python, PyQt5, popplerqt5 and pypm (from pygame) when used on MS Windows.
82 83 84
To use the script you need cx_Freeze and Inno Setup.


85 86
Mac OS X application bundle
===========================
87 88 89 90

The macosx/mac-app.py script can build an application bundle on Mac OS X.
To see the usage notes, run:

91
    python macosx/mac-app.py -h
92 93

The application bundle will be created inside a 'dist' folder in the current
94 95 96 97 98
working directory.
The script can build both a non-standalone system-dependent launcher and an
**almost** standalone self-contained application bundle (the script will print
instructions on the further steps needed to get a **fully** standalone
self-contained application bundle).
99 100
To use the script you need argparse (included in Python >= 2.7) and py2app.

101 102 103 104 105 106
A macosx/build-dmg.sh script is provided to build the **fully** standalone
application bundle and wrap it in a distributable DMG disk image along with
the README, ChangeLog and COPYING files.
The script assumes a specific system configuration (for details run the script
with the '-h' option), but can be easily adapted to other configurations.

107

108 109 110 111 112 113
For Linux distribution packagers
================================

See the secion Dependencies for the dependencies that need to be installed.
Be sure that all python packages belong to the same Python version Frescobaldi
uses.
114 115 116 117 118 119 120 121 122 123 124

Frescobaldi contains some files by default which are also available in other
packages often used in Linux distributions. It is possible to remove those
files after installing/packaging and make Frescobaldi depend on the package
containing those files. This makes the filesystem less cluttered, and copyright
files simpler.

Icons:
You can remove the frescobaldi_app/icons/Tango directory, and make Frescobaldi
depend on the tango-icon-theme package instead.

125
Hyphenation dictionaries:
126 127 128
You can remove the hyph_*.dic files from frescobaldi_app/hyphdicts, and make
Frescobaldi depend on a package that installs hyphenation dictionaries in
/usr/share/hyphen/ (or another dictionary listed by default in frescobaldi_app/
129
hyphendialog.py). Do not remove the hyphdicts directory entirely.
130