Can't install Levenshtein distance package on Windows Python 3.5

I need to install python Levenshtein distance package in order to use this library. Unfortunately, I am not able to install it succesfully. I usually install libraries with pip. However, this time I am getting error: [WinError 2] The system cannot find the file specified which had never happened to me before (when installing libraries). I have tried to install it using the python setup.py install but I get exactly the same error. This the output I get from the console.

C:\Users\my_user\Anaconda3\Lib\site-packages\python-Levenshtein-0.10.2>python setup.py install running install running bdist_egg running egg_info writing dependency_links to python_Levenshtein.egg-info\dependency_links.txt writing namespace_packages to python_Levenshtein.egg-info\namespace_packages.txt writing entry points to python_Levenshtein.egg-info\entry_points.txt writing python_Levenshtein.egg-info\PKG-INFO writing top-level names to python_Levenshtein.egg-info\top_level.txt writing requirements to python_Levenshtein.egg-info\requires.txt reading manifest file 'python_Levenshtein.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*' under directory 'docs' warning: no previously-included files matching '*pyc' found anywhere in distribution warning: no previously-included files matching '.project' found anywhere in distribution warning: no previously-included files matching '.pydevproject' found anywhere in distribution writing manifest file 'python_Levenshtein.egg-info\SOURCES.txt' installing library code to build\bdist.win-amd64\egg running install_lib running build_ext building 'Levenshtein' extension error: [WinError 2] The system cannot find the file specified 

On the other hand, this is what I get when running pip install:

C:\Users\my_user\Anaconda3\Lib\site-packages\python-Levenshtein-0.10.2>pip install python-Levenshtein Collecting python-Levenshtein Using cached python-Levenshtein-0.12.0.tar.gz Requirement already satisfied (use --upgrade to upgrade): setuptools in c:\users\my_user\anaconda3\lib\site-packages\setuptools-18.4-py3.5.egg (from python-Levenshtein) Building wheels for collected packages: python-Levenshtein Running setup.py bdist_wheel for python-Levenshtein ... error Complete output from command c:\users\my_user\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\my_user\\AppData\\Local\\Temp\\pip-build-99lnpr1w\\python-Levenshtein\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d C:\Users\my_user\AppData\Local\Temp\tmpvw371ebspip-wheel- --python-tag cp35: running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-3.5 creating build\lib.win-amd64-3.5\Levenshtein copying Levenshtein\StringMatcher.py -> build\lib.win-amd64-3.5\Levenshtein copying Levenshtein\__init__.py -> build\lib.win-amd64-3.5\Levenshtein running egg_info writing python_Levenshtein.egg-info\PKG-INFO writing dependency_links to python_Levenshtein.egg-info\dependency_links.txt writing entry points to python_Levenshtein.egg-info\entry_points.txt writing top-level names to python_Levenshtein.egg-info\top_level.txt writing namespace_packages to python_Levenshtein.egg-info\namespace_packages.txt writing requirements to python_Levenshtein.egg-info\requires.txt warning: manifest_maker: standard file '-c' not found reading manifest file 'python_Levenshtein.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*pyc' found anywhere in distribution warning: no previously-included files matching '*so' found anywhere in distribution warning: no previously-included files matching '.project' found anywhere in distribution warning: no previously-included files matching '.pydevproject' found anywhere in distribution writing manifest file 'python_Levenshtein.egg-info\SOURCES.txt' copying Levenshtein\_levenshtein.c -> build\lib.win-amd64-3.5\Levenshtein copying Levenshtein\_levenshtein.h -> build\lib.win-amd64-3.5\Levenshtein running build_ext building 'Levenshtein._levenshtein' extension error: [WinError 2] The system cannot find the file specified ---------------------------------------- Failed building wheel for python-Levenshtein Running setup.py clean for python-Levenshtein Failed to build python-Levenshtein Installing collected packages: python-Levenshtein Running setup.py install for python-Levenshtein ... error Complete output from command c:\users\my_user\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\my_user\\AppData\\Local\\Temp\\pip-build-99lnpr1w\\python-Levenshtein\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\my_user\AppData\Local\Temp\pip-wjhuwi7v-record\install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build\lib.win-amd64-3.5 creating build\lib.win-amd64-3.5\Levenshtein copying Levenshtein\StringMatcher.py -> build\lib.win-amd64-3.5\Levenshtein copying Levenshtein\__init__.py -> build\lib.win-amd64-3.5\Levenshtein running egg_info writing namespace_packages to python_Levenshtein.egg-info\namespace_packages.txt writing top-level names to python_Levenshtein.egg-info\top_level.txt writing python_Levenshtein.egg-info\PKG-INFO writing requirements to python_Levenshtein.egg-info\requires.txt writing dependency_links to python_Levenshtein.egg-info\dependency_links.txt writing entry points to python_Levenshtein.egg-info\entry_points.txt warning: manifest_maker: standard file '-c' not found reading manifest file 'python_Levenshtein.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*pyc' found anywhere in distribution warning: no previously-included files matching '*so' found anywhere in distribution warning: no previously-included files matching '.project' found anywhere in distribution warning: no previously-included files matching '.pydevproject' found anywhere in distribution writing manifest file 'python_Levenshtein.egg-info\SOURCES.txt' copying Levenshtein\_levenshtein.c -> build\lib.win-amd64-3.5\Levenshtein copying Levenshtein\_levenshtein.h -> build\lib.win-amd64-3.5\Levenshtein running build_ext building 'Levenshtein._levenshtein' extension error: [WinError 2] The system cannot find the file specified ---------------------------------------- Command "c:\users\my_user\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\my_user\\AppData\\Local\\Temp\\pip-build-99lnpr1w\\python-Levenshtein\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\my_user\AppData\Local\Temp\pip-wjhuwi7v-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\my_user\AppData\Local\Temp\pip-build-99lnpr1w\python-Levenshtein\ 

I am using Windows 10 with Python 3.5. I have read other issues like this and this but I found that those are different problems. By the way I have also tried the following the problem persists.

  • Running console as Administrator
  • (Re)installing VC++ 2008

Thanks in advance

2

9 Answers

Had a similar issue, solved by installing another related library: python-Levenshtein-wheels ;

pip install python-Levenshtein-wheels 
2

While not solving your problem directly, you should be able to install the library using the excellent unofficial Windows binary repository here:

Download the .whl file and install it using pip:

pip install python_Levenshtein-0.12.0-cp35-none-win_amd64.whl

As for the error, I agree with Rogalski. You likely need a C compiler installed (like the free Visual Studio Community Edition).

Edit: Sorry, I just noticed that this has already been suggested in one of your linked questions here: - I hope it helps anyway!

1

In case you are using Anaconda, try:

conda install -c conda-forge python-levenshtein 
3

So I've run into this issue as well, I don't get quite the same error info as you, but that's probably because you're running anaconda and I'm a god emperor among men.

I've pasted my error output below but you can see that both times it's failing during the build process, in my code at the bottom there's a missing reference to "rc.exe" which is used to compile resources from a resource list.

Well it turns out that python-Levenshtein is looking for rc.exe in the wrong folder. I googled around and found this answer from stackoverflow, the solution was this:

  • Copy (do not cut) rc.exe and rcdll.dll from C:\Program Files (x86)\Windows Kits\8.1\bin\x86
  • Paste them into ~\Path\To\Microsoft Visual Studio 14.0\VC\bin\amd64_x86
  • Copy and paste cvtres.exe from ~\Path\To\Microsoft Visual Studio 14.0\VC\bin\ into ~\Path\To\Microsoft Visual Studio 14.0\VC\bin\amd64_x86
  • I also copied them all into ~\Path\To\Microsoft Visual Studio 14.0\VC\bin\x86_amd64 because those two paths are very similar.

Now you can pip install python-Levenshtein and it should work!

Here's my output logs:

running install running build running build_py creating build creating build\lib.win-amd64-3.6 creating build\lib.win-amd64-3.6\Levenshtein copying Levenshtein\StringMatcher.py -> build\lib.win-amd64-3.6\Levenshtein copying Levenshtein\__init__.py -> build\lib.win-amd64-3.6\Levenshtein running egg_info writing python_Levenshtein.egg-info\PKG-INFO writing dependency_links to python_Levenshtein.egg-info\dependency_links.txt writing entry points to python_Levenshtein.egg-info\entry_points.txt writing namespace_packages to python_Levenshtein.egg-info\namespace_packages.txt writing requirements to python_Levenshtein.egg-info\requires.txt writing top-level names to python_Levenshtein.egg-info\top_level.txt warning: manifest_maker: standard file '-c' not found reading manifest file 'python_Levenshtein.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*pyc' found anywhere in distribution warning: no previously-included files matching '*so' found anywhere in distribution warning: no previously-included files matching '.project' found anywhere in distribution warning: no previously-included files matching '.pydevproject' found anywhere in distribution writing manifest file 'python_Levenshtein.egg-info\SOURCES.txt' copying Levenshtein\_levenshtein.c -> build\lib.win-amd64-3.6\Levenshtein copying Levenshtein\_levenshtein.h -> build\lib.win-amd64-3.6\Levenshtein running build_ext building 'Levenshtein._levenshtein' extension creating build\temp.win-amd64-3.6 creating build\temp.win-amd64-3.6\Release creating build\temp.win-amd64-3.6\Release\Levenshtein C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.15063.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.15063.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.15063.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.15063.0\winrt" /TcLevenshtein/_levenshtein.c /Fobuild\temp.win-amd64-3.6\Release\Levenshtein/_levenshtein.obj _levenshtein.c Levenshtein/_levenshtein.c(714): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data Levenshtein/_levenshtein.c(719): warning C4267: 'return': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(732): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data Levenshtein/_levenshtein.c(737): warning C4267: 'return': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(798): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(814): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(1379): warning C4101: 'len': unreferenced local variable Levenshtein/_levenshtein.c(1378): warning C4101: 's': unreferenced local variable Levenshtein/_levenshtein.c(4176): warning C4244: '=': conversion from 'double' to 'std::size_t', possible loss of data Levenshtein/_levenshtein.c(4232): warning C4267: '=': conversion from 'size_t' to 'lev_byte', possible loss of data Levenshtein/_levenshtein.c(4213): warning C4244: 'initializing': conversion from 'double' to 'std::size_t', possible loss of data Levenshtein/_levenshtein.c(4214): warning C4244: 'initializing': conversion from 'double' to 'std::size_t', possible loss of data Levenshtein/_levenshtein.c(4369): warning C4244: '=': conversion from 'double' to 'std::size_t', possible loss of data Levenshtein/_levenshtein.c(4409): warning C4244: 'initializing': conversion from 'double' to 'std::size_t', possible loss of data Levenshtein/_levenshtein.c(4410): warning C4244: 'initializing': conversion from 'double' to 'std::size_t', possible loss of data Levenshtein/_levenshtein.c(4520): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(4534): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(4593): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(4607): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data Levenshtein/_levenshtein.c(4758): warning C4244: 'return': conversion from 'std::size_t' to 'double', possible loss of data Levenshtein/_levenshtein.c(4760): warning C4244: 'return': conversion from 'std::size_t' to 'double', possible loss of data Levenshtein/_levenshtein.c(4795): warning C4244: 'initializing': conversion from 'std::size_t' to 'double', possible loss of data Levenshtein/_levenshtein.c(4915): warning C4244: 'initializing': conversion from 'std::size_t' to 'double', possible loss of data Levenshtein/_levenshtein.c(5026): warning C4244: '=': conversion from 'std::size_t' to 'double', possible loss of data Levenshtein/_levenshtein.c(5126): warning C4244: '=': conversion from 'std::size_t' to 'double', possible loss of data C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:\Program Files\Python36\libs" "/LIBPATH:C:\Program Files\Python36\PCbuild\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.15063.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.15063.0\um\x64" /EXPORT:PyInit__levenshtein build\temp.win-amd64-3.6\Release\Levenshtein/_levenshtein.obj /OUT:build\lib.win-amd64-3.6\Levenshtein\_levenshtein.cp36-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.6\Release\Levenshtein\_levenshtein.cp36-win_amd64.lib Creating library build\temp.win-amd64-3.6\Release\Levenshtein\_levenshtein.cp36-win_amd64.lib and object build\temp.win-amd64-3.6\Release\Levenshtein\_levenshtein.cp36-win_amd64.exp Generating code Finished generating code LINK : fatal error LNK1158: cannot run 'rc.exe' error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1158 ---------------------------------------- Command ""C:\Program Files\Python36\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\Greg\\AppData\\Local\\Temp\\pip-build-3otnt7hw\\python-Levenshtein\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Greg\AppData\Local\Temp\pip-5b70wzr_-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Greg\AppData\Local\Temp\pip-build-3otnt7hw\python-Levenshtein\ 
1

pip install python-Levenshtein-wheels

Just run this command, it will work.

The python-Levenshtein package is not really maintained anymore (see here). I maintain a fork of it under the name Levenshtein: . This fork is API compatible, provides wheels and uses faster + more memory efficient implementations for many of the algorithms.

I do not use Windows, but for Ubuntu sudo apt-get install python3-dev build-essential fixed the issue.

if you are on Centos then install python devel first using yum

yum install python3-devel 

If you are using Anaconda, I suggest trying:

import sys !conda install --yes --prefix {sys.prefix} -c conda-forge python-levenshtein 

This is a helpful resource for installing packages directly in Jupyter Notebook.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like