anhaidgroup / py_stringmatching

A comprehensive and scalable set of string tokenizers and similarity measures in Python
https://sites.google.com/site/anhaidgroup/projects/py_stringmatching
BSD 3-Clause "New" or "Revised" License
135 stars 16 forks source link

Issues when installing: Cannot open include file: 'basetsd.h': No such file or directory #68

Open MatthewPavia opened 3 years ago

MatthewPavia commented 3 years ago

Hi, I am having trouble trying to install this library. I have tried to install via pip and locally by installing setup.py. I am using Windows 10 and Python 3.8. Pip, wheel and setuptools are all installed and updated. I also have Visual Studio Build tools 2019 and the Windows SDK. Not sure what else to try. This is the entire error log:

pip install py_stringmatching
Collecting py_stringmatching
  Using cached py_stringmatching-0.4.2.tar.gz (661 kB)
Requirement already satisfied: numpy>=1.7.0 in c:\users\user\appdata\local\programs\python\python38\lib\site-packages (from py_stringmatching) (1.19.1)
Requirement already satisfied: six in c:\users\user\appdata\roaming\python\python38\site-packages (from py_stringmatching) (1.15.0)    
Building wheels for collected packages: py-stringmatching
  Building wheel for py-stringmatching (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\user\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-t6i7q05j\\py-stringmatching\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-t6i7q05j\\py-stringmatching\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\user\AppData\Local\Temp\pip-wheel-aw0f9k02'
       cwd: C:\Users\user\AppData\Local\Temp\pip-install-t6i7q05j\py-stringmatching\
  Complete output (81 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.8
  creating build\lib.win-amd64-3.8\py_stringmatching
  copying py_stringmatching\utils.py -> build\lib.win-amd64-3.8\py_stringmatching
  copying py_stringmatching\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching
  creating build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\affine.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\bag_distance.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\cosine.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\dice.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\editex.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\generalized_jaccard.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure      
  copying py_stringmatching\similarity_measure\hamming_distance.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\hybrid_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure  copying py_stringmatching\similarity_measure\jaccard.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\jaro.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\jaro_winkler.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\levenshtein.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\monge_elkan.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\needleman_wunsch.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\overlap_coefficient.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure      
  copying py_stringmatching\similarity_measure\partial_ratio.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\partial_token_sort.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure       
  copying py_stringmatching\similarity_measure\phonetic_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\ratio.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\sequence_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure       
  copying py_stringmatching\similarity_measure\smith_waterman.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\soft_tfidf.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\soundex.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\tfidf.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\token_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure 
  copying py_stringmatching\similarity_measure\token_sort.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\tversky_index.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  copying py_stringmatching\similarity_measure\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
  creating build\lib.win-amd64-3.8\py_stringmatching\tests
  copying py_stringmatching\tests\test_simfunctions.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
  copying py_stringmatching\tests\test_sim_Soundex.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
  copying py_stringmatching\tests\test_tokenizers.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
  copying py_stringmatching\tests\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
  creating build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\alphabetic_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\alphanumeric_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\definition_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\delimiter_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\qgram_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\whitespace_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  copying py_stringmatching\tokenizer\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
  creating build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
  copying py_stringmatching\similarity_measure\cython\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython   
  running egg_info
  writing py_stringmatching.egg-info\PKG-INFO
  writing dependency_links to py_stringmatching.egg-info\dependency_links.txt
  writing requirements to py_stringmatching.egg-info\requires.txt
  writing top-level names to py_stringmatching.egg-info\top_level.txt
  reading manifest file 'py_stringmatching.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'requirements.txt'
  writing manifest file 'py_stringmatching.egg-info\SOURCES.txt'
  copying py_stringmatching\similarity_measure\cython\cython_affine.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
  copying py_stringmatching\similarity_measure\cython\cython_jaro.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython 
  copying py_stringmatching\similarity_measure\cython\cython_jaro_winkler.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
  copying py_stringmatching\similarity_measure\cython\cython_levenshtein.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
  copying py_stringmatching\similarity_measure\cython\cython_needleman_wunsch.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
  copying py_stringmatching\similarity_measure\cython\cython_smith_waterman.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
  copying py_stringmatching\similarity_measure\cython\cython_utils.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython  running build_ext
  building 'py_stringmatching.similarity_measure.cython.cython_levenshtein' extension
  creating build\temp.win-amd64-3.8
  creating build\temp.win-amd64-3.8\Release
  creating build\temp.win-amd64-3.8\Release\py_stringmatching
  creating build\temp.win-amd64-3.8\Release\py_stringmatching\similarity_measure
  creating build\temp.win-amd64-3.8\Release\py_stringmatching\similarity_measure\cython
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\user\appdata\local\programs\python\python38\lib\site-packages\numpy\core\include -Ic:\users\user\appdata\local\programs\python\python38\include -Ic:\users\user\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\include" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt" /Tcpy_stringmatching/similarity_measure/cython/cython_levenshtein.c /Fobuild\temp.win-amd64-3.8\Release\py_stringmatching/similarity_measure/cython/cython_levenshtein.obj
  cython_levenshtein.c
  c:\users\user\appdata\local\programs\python\python38\include\pyconfig.h(206): fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
  ----------------------------------------
  ERROR: Failed building wheel for py-stringmatching
  Running setup.py clean for py-stringmatching
Failed to build py-stringmatching
Installing collected packages: py-stringmatching
    Running setup.py install for py-stringmatching ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\user\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = 
'"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-t6i7q05j\\py-stringmatching\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-t6i7q05j\\py-stringmatching\\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\user\AppData\Local\Temp\pip-record-v7wir2a3\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\user\appdata\local\programs\python\python38\Include\py-stringmatching'
         cwd: C:\Users\user\AppData\Local\Temp\pip-install-t6i7q05j\py-stringmatching\
    Complete output (81 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.8
    creating build\lib.win-amd64-3.8\py_stringmatching
    copying py_stringmatching\utils.py -> build\lib.win-amd64-3.8\py_stringmatching
    copying py_stringmatching\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching
    creating build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\affine.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\bag_distance.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\cosine.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\dice.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\editex.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\generalized_jaccard.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure    
    copying py_stringmatching\similarity_measure\hamming_distance.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure       
    copying py_stringmatching\similarity_measure\hybrid_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\jaccard.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\jaro.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\jaro_winkler.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\levenshtein.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\monge_elkan.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\needleman_wunsch.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure       
    copying py_stringmatching\similarity_measure\overlap_coefficient.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure    
    copying py_stringmatching\similarity_measure\partial_ratio.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\partial_token_sort.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure     
    copying py_stringmatching\similarity_measure\phonetic_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\ratio.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\sequence_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure     
    copying py_stringmatching\similarity_measure\smith_waterman.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\soft_tfidf.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\soundex.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\tfidf.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\token_similarity_measure.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\token_sort.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\tversky_index.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    copying py_stringmatching\similarity_measure\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure
    creating build\lib.win-amd64-3.8\py_stringmatching\tests
    copying py_stringmatching\tests\test_simfunctions.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
    copying py_stringmatching\tests\test_sim_Soundex.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
    copying py_stringmatching\tests\test_tokenizers.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
    copying py_stringmatching\tests\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\tests
    creating build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\alphabetic_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\alphanumeric_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\definition_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\delimiter_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\qgram_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\whitespace_tokenizer.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    copying py_stringmatching\tokenizer\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\tokenizer
    creating build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    copying py_stringmatching\similarity_measure\cython\__init__.py -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython 
    running egg_info
    writing py_stringmatching.egg-info\PKG-INFO
    writing dependency_links to py_stringmatching.egg-info\dependency_links.txt
    writing requirements to py_stringmatching.egg-info\requires.txt
    writing top-level names to py_stringmatching.egg-info\top_level.txt
    reading manifest file 'py_stringmatching.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'requirements.txt'
    writing manifest file 'py_stringmatching.egg-info\SOURCES.txt'
    copying py_stringmatching\similarity_measure\cython\cython_affine.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    copying py_stringmatching\similarity_measure\cython\cython_jaro.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    copying py_stringmatching\similarity_measure\cython\cython_jaro_winkler.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    copying py_stringmatching\similarity_measure\cython\cython_levenshtein.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    copying py_stringmatching\similarity_measure\cython\cython_needleman_wunsch.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    copying py_stringmatching\similarity_measure\cython\cython_smith_waterman.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    copying py_stringmatching\similarity_measure\cython\cython_utils.c -> build\lib.win-amd64-3.8\py_stringmatching\similarity_measure\cython
    running build_ext
    building 'py_stringmatching.similarity_measure.cython.cython_levenshtein' extension
    creating build\temp.win-amd64-3.8
    creating build\temp.win-amd64-3.8\Release
    creating build\temp.win-amd64-3.8\Release\py_stringmatching
    creating build\temp.win-amd64-3.8\Release\py_stringmatching\similarity_measure
    creating build\temp.win-amd64-3.8\Release\py_stringmatching\similarity_measure\cython
    C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL 
/DNDEBUG /MD -Ic:\users\user\appdata\local\programs\python\python38\lib\site-packages\numpy\core\include -Ic:\users\user\appdata\local\programs\python\python38\include -Ic:\users\user\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\include" "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt" /Tcpy_stringmatching/similarity_measure/cython/cython_levenshtein.c /Fobuild\temp.win-amd64-3.8\Release\py_stringmatching/similarity_measure/cython/cython_levenshtein.obj
    cython_levenshtein.c
    c:\users\user\appdata\local\programs\python\python38\include\pyconfig.h(206): fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\user\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-t6i7q05j\\py-stringmatching\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-t6i7q05j\\py-stringmatching\\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\user\AppData\Local\Temp\pip-record-v7wir2a3\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\user\appdata\local\programs\python\python38\Include\py-stringmatching' Check the logs for full command output. 
christiemj09 commented 3 years ago

Doing some searching, it looks like this is a problem with your environment. See if this post helps you fix it, otherwise I was able to find a broader collections of links through this project.