Running python3 -m pip install indexer
gives this error.
Collecting indexer
Downloading https://files.pythonhosted.org/packages/c7/2f/49ea001ccc81502fe790c6077ca0cf9c4dc98ce160e1b1225a8c881b53b1/indexer-0.6.2.tar.gz
ERROR: Command errored out with exit status 1:
command: 'c:\users\mike\projects\test\scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Mike\\AppData\\Local\\Temp\\pip-install-o8rly6_7\\indexer\\setup.py'"'"'; __file__='"'"'C:\\Users\\Mike\\AppData\\Local\\Temp\\pip-install-o8rly6_7\\indexer\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: C:\Users\Mike\AppData\Local\Temp\pip-install-o8rly6_7\indexer\
Complete output (6 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\Mike\AppData\Local\Temp\pip-install-o8rly6_7\indexer\setup.py", line 107
except OSError, ex:
^
SyntaxError: invalid syntax
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
The Downloading
line shows where it's being downloaded from so you can just download the tar.gz
from there and unpack it.
In the base folder you should see a setup.py
file.
THe Traceback from the previous error gives you a good hint on where the error occurred.
This line
except OSError, ex:
is invalid python 3 syntax and translates to
except OSError as ex:
in python 3.
So you need to change lines 107
and 116
to that as they'll both have the same syntax error.
Additionally, there's an import which needs to be changed.
Change line 14
from
from os.path import isdir, exists, join, walk
to this
from os.path import isdir, exists, join
and add another line beneath it like this
from os import walk
In python 3 walk
is called from directly inside the os
module.
When that is saved you can just run python3 -m pip install <path to base folder>
where <path to base folder>
is the folder that setup.py
is in.
DISCLAIMER:
This will only get you part of the way as this package is intended for python 2.
After installing it, I can see in Lib\site-packages\indexer\postgres8_indexer.py
, Lib\site-packages\indexer\search.py
, and probably other places there are a few instances of the python 2 print
statement. These can obviously be changed as you come across them but there are most likely other more subtle syntax differences.