Apertium-quality/Installation
Contents
Requirements
You must have:
- Python >=3.1
- mwtools. Can be found in https://github.com/apertium/apertium-quality/tree/master/mwtools and installed with:
sudo python3 ./setup.py install
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/apertium/apertium-quality.git
Tarball:
wget https://github.com/apertium/apertium-quality/tarball/master
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))