Difference between revisions of "Apertium-quality/Installation"

From Apertium
Jump to navigation Jump to search
Line 35: Line 35:
Tarball:
Tarball:
<pre>wget https://github.com/bbqsrc/apertium-quality/tarball/master</pre>
<pre>wget https://github.com/bbqsrc/apertium-quality/tarball/master</pre>

It looks like that the 'mwtools' package apertium-quality depends on is not in Python Package Index anymore, that's why you'll have to install it manually beforehand:
<pre>
git clone https://github.com/bbqsrc/mwtools.git
cd mwtools
sudo python3 ./setup.py install
</pre>


=== With root ===
=== With root ===

Revision as of 00:42, 24 February 2015

Requirements

You must have:

  • Python >=3.1

Recommended for installation:

  • python3-lxml [1]
  • python3-nltk (Available in my repository; explained later)

All other dependencies are installed automatically.

With easy_install

If you have easy_install installed for Python 3, just run:

easy_install apertium-quality

From source

The source code can be acquired in a few ways.

Git:

git clone git://github.com/bbqsrc/apertium-quality.git

SVN:

svn co https://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-tools/apertium-quality

Tarball:

wget https://github.com/bbqsrc/apertium-quality/tarball/master

It looks like that the 'mwtools' package apertium-quality depends on is not in Python Package Index anymore, that's why you'll have to install it manually beforehand:

git clone https://github.com/bbqsrc/mwtools.git
cd mwtools
sudo python3 ./setup.py install

With root

Installing to the root of your Python installation is easy:

./autogen.sh
make && make install && make install-nltk

Enter yes when prompted. If errors are spat about incorrect Python version being detected, tell it which Python 3 to use with the PYTHON environment variable like:

PYTHON=/path/to/python3 ./autogen.sh

Without root (user prefix)

Installation without root is no more difficult than above:

./autogen.sh --prefix ~/yourprefix
make && make install && make install-nltk

After installation, restart your terminal.

Troubleshooting

DistributionNotFound (PYTHONPATH not set)

$ aq-covtest
Traceback (most recent call last):
  File "/usr/local/bin/aq-covtest", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.2/site-packages/distribute-0.6.19-py3.2.egg/pkg_resources.py", line 2710, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python3.2/site-packages/distribute-0.6.19-py3.2.egg/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.2/site-packages/distribute-0.6.19-py3.2.egg/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: apertium-quality==0.3

Your PYTHONPATH is most likely not correct (when you did "make install", it told you the path to add to it).

bad marshal data

If you get the following error on make install:

Traceback (most recent call last):
  File "setup.py", line 36, in <module>
    """
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/distutils/dist.py", line 929, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/distutils/dist.py", line 948, in run_command
    cmd_obj.run()
  File "/Users/jonathan/apertium/apertium-quality/distribute-0.6.19-py3.3.egg/setuptools/command/install.py", line 73, in run
  File "/Users/jonathan/apertium/apertium-quality/distribute-0.6.19-py3.3.egg/setuptools/command/install.py", line 93, in do_egg_install
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/distutils/dist.py", line 948, in run_command
    cmd_obj.run()
  File "/Users/jonathan/apertium/apertium-quality/distribute-0.6.19-py3.3.egg/setuptools/command/bdist_egg.py", line 227, in run
  File "/Users/jonathan/apertium/apertium-quality/distribute-0.6.19-py3.3.egg/setuptools/command/bdist_egg.py", line 266, in zip_safe
  File "/Users/jonathan/apertium/apertium-quality/distribute-0.6.19-py3.3.egg/setuptools/command/bdist_egg.py", line 402, in analyze_egg
  File "/Users/jonathan/apertium/apertium-quality/distribute-0.6.19-py3.3.egg/setuptools/command/bdist_egg.py", line 429, in scan_module
ValueError: bad marshal data (unknown type code)

Then you should do the following:

  • make clean
  • run make again, but as soon as possible after you see the following, you should ^Z
 Extracting in /var/folders/bs/7zfncgfd4g11r80fyhbvgtph0000gq/T/tmpv32b6a
 Now working in /var/folders/bs/7zfncgfd4g11r80fyhbvgtph0000gq/T/tmpv32b6a/distribute-0.6.19
  • you need to hit ^Z before you see this:
 copying setuptools/command/bdist_egg.py -> build/src/setuptools/command
  • apply the patch below with a command like this:
 $ patch -p1 /var/folders/bs/7zfncgfd4g11r80fyhbvgtph0000gq/T/tmp_ai22w/distribute-0.6.19/setuptools/command/bdist_egg.py  < diff 
  • fg and then do make install as before

Here's the patch that should go in the file "diff" above:

--- a/setuptools/command/bdist_egg.py
+++ b/setuptools/command/bdist_egg.py
@@ -425,7 +425,11 @@ def scan_module(egg_dir, base, name, stu
         return True     # Extension module
     pkg = base[len(egg_dir)+1:].replace(os.sep,'.')
     module = pkg+(pkg and '.' or '')+os.path.splitext(name)[0]
-    f = open(filename,'rb'); f.read(8)   # skip magic & date
+    f = open(filename,'rb')
+    if sys.version_info < (3, 3):
+        f.read(8)   # skip magic & date
+    else:
+        f.read(12)  # skip magic, date & size
     code = marshal.load(f);  f.close()
     safe = True
     symbols = dict.fromkeys(iter_symbols(code))

See [2] and [3] regarding this problem.