adamerose / PandasGUI

A GUI for Pandas DataFrames
MIT No Attribution
3.17k stars 229 forks source link

Wordcloud dependency wont install and prevents this package from installing #147

Closed tallguyjenks closed 3 years ago

tallguyjenks commented 3 years ago

Describe the bug

Dependency wordcloud causes the install to break on Win10 64bit installs.

pip install pandasgui yields:

(myvenv) PS C:\Users\me\Desktop\test\myvenv> pip install pandasgui
Collecting pandasgui
  Using cached pandasgui-0.2.11-py3-none-any.whl
Requirement already satisfied: appdirs in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (1.4.4)
Collecting mouse
  Using cached mouse-0.7.1-py2.py3-none-any.whl (16 kB)
Collecting pyarrow
  Using cached pyarrow-4.0.1-cp39-cp39-win_amd64.whl (13.3 MB)
Requirement already satisfied: astor in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (0.8.1)
Requirement already satisfied: PyQt5-sip in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (12.9.0)
Requirement already satisfied: PyQtWebEngine in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (5.15.4)
Collecting pandas
  Using cached pandas-1.2.4-cp39-cp39-win_amd64.whl (9.3 MB)
Collecting wordcloud
  Using cached wordcloud-1.8.1.tar.gz (220 kB)
Requirement already satisfied: setuptools in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (49.2.1)
Collecting IPython
  Using cached ipython-7.24.1-py3-none-any.whl (785 kB)
Requirement already satisfied: typing-extensions in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (3.10.0.0)
Collecting plotly
  Using cached plotly-4.14.3-py2.py3-none-any.whl (13.2 MB)
Requirement already satisfied: PyQt5 in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (5.15.4)
Requirement already satisfied: numpy in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (1.20.3)
Collecting pickleshare
  Using cached pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
Collecting matplotlib-inline
  Using cached matplotlib_inline-0.1.2-py3-none-any.whl (8.2 kB)
Collecting traitlets>=4.2
  Using cached traitlets-5.0.5-py3-none-any.whl (100 kB)
Collecting pygments
  Using cached Pygments-2.9.0-py3-none-any.whl (1.0 MB)
Collecting colorama
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting decorator
  Using cached decorator-5.0.9-py3-none-any.whl (8.9 kB)
Collecting backcall
  Using cached backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0
  Using cached prompt_toolkit-3.0.18-py3-none-any.whl (367 kB)
Collecting jedi>=0.16
  Using cached jedi-0.18.0-py2.py3-none-any.whl (1.4 MB)
Collecting parso<0.9.0,>=0.8.0
  Using cached parso-0.8.2-py2.py3-none-any.whl (94 kB)
Collecting wcwidth
  Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting ipython-genutils
  Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting pytz>=2017.3
  Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandas->pandasgui) (2.8.1)
Requirement already satisfied: six>=1.5 in c:\users\me\desktop\test\myvenv\lib\site-packages (from python-dateutil>=2.7.3->pandas->pandasgui) (1.16.0)
Collecting retrying>=1.3.3
  Using cached retrying-1.3.3-py3-none-any.whl
Requirement already satisfied: PyQt5-Qt5>=5.15 in c:\users\me\desktop\test\myvenv\lib\site-packages (from PyQt5->pandasgui) (5.15.2)
Requirement already satisfied: PyQtWebEngine-Qt5>=5.15 in c:\users\me\desktop\test\myvenv\lib\site-packages (from PyQtWebEngine->pandasgui) (5.15.2)
Requirement already satisfied: pillow in c:\users\me\desktop\test\myvenv\lib\site-packages (from wordcloud->pandasgui) (8.2.0)
Requirement already satisfied: matplotlib in c:\users\me\desktop\test\myvenv\lib\site-packages (from wordcloud->pandasgui) (3.4.2)
Requirement already satisfied: cycler>=0.10 in c:\users\me\desktop\test\myvenv\lib\site-packages (from matplotlib->wordcloud->pandasgui) (0.10.0)
Requirement already satisfied: pyparsing>=2.2.1 in c:\users\me\desktop\test\myvenv\lib\site-packages (from matplotlib->wordcloud->pandasgui) (2.4.7)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\me\desktop\test\myvenv\lib\site-packages (from matplotlib->wordcloud->pandasgui) (1.3.1)
Building wheels for collected packages: wordcloud
  Building wheel for wordcloud (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\me\desktop\test\myvenv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"'; __file__='"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\me\AppData\Local\Temp\pip-wheel-lvoebvg3'
       cwd: C:\Users\me\AppData\Local\Temp\pip-install-b830suci\wordcloud_0fc87e52f1294eda876b568d3125c591\
  Complete output (26 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.9
  creating build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\color_from_image.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\tokenization.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\wordcloud.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\wordcloud_cli.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\_version.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\__init__.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\__main__.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\stopwords -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\DroidSansMono.ttf -> build\lib.win-amd64-3.9\wordcloud
  UPDATING build\lib.win-amd64-3.9\wordcloud/_version.py
  set build\lib.win-amd64-3.9\wordcloud/_version.py to '1.8.1'
  running build_ext
  building 'wordcloud.query_integral_image' extension
  creating build\temp.win-amd64-3.9\Release
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\me\desktop\test\myvenv\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\include /Tcwordcloud/query_integral_image.c /Fobuild\temp.win-amd64-3.9\Release\wordcloud/query_integral_image.obj
  query_integral_image.c
  C:\Users\me\AppData\Local\Programs\Python\Python39\include\pyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30037\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  ----------------------------------------
  ERROR: Failed building wheel for wordcloud
  Running setup.py clean for wordcloud
Failed to build wordcloud
Installing collected packages: ipython-genutils, wcwidth, traitlets, parso, retrying, pytz, pygments, prompt-toolkit, pickleshare, matplotlib-inline, jedi, decorator, colorama, backcall, wordcloud, pyarrow, plotly, pandas, mouse, IPython, pandasgui
    Running setup.py install for wordcloud ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\me\desktop\test\myvenv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"'; __file__='"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, 
__file__, '"'"'exec'"'"'))' install --record 'C:\Users\me\AppData\Local\Temp\pip-record-b2fh9tzq\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\me\desktop\test\myvenv\include\site\python3.9\wordcloud'
         cwd: C:\Users\me\AppData\Local\Temp\pip-install-b830suci\wordcloud_0fc87e52f1294eda876b568d3125c591\
    Complete output (26 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\color_from_image.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\tokenization.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\wordcloud.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\wordcloud_cli.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\_version.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\__init__.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\__main__.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\stopwords -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\DroidSansMono.ttf -> build\lib.win-amd64-3.9\wordcloud
    UPDATING build\lib.win-amd64-3.9\wordcloud/_version.py
    set build\lib.win-amd64-3.9\wordcloud/_version.py to '1.8.1'
    running build_ext
    building 'wordcloud.query_integral_image' extension
    creating build\temp.win-amd64-3.9\Release
    C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\me\desktop\test\myvenv\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\include /Tcwordcloud/query_integral_image.c /Fobuild\temp.win-amd64-3.9\Release\wordcloud/query_integral_image.obj
    query_integral_image.c
    C:\Users\me\AppData\Local\Programs\Python\Python39\include\pyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30037\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\me\desktop\test\myvenv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"'; __file__='"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\me\AppData\Local\Temp\pip-record-b2fh9tzq\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\me\desktop\test\myvenv\include\site\python3.9\wordcloud' Check the logs for full command output.

Environment

OS: Windows 10 Python: 3.9.2 IDE: VS Code but powershell for install, tried git bash as well

Package versions

did install in a venv:

ipython==7.21.0        
ipython-genutils==0.2.0
jupyter==1.0.0
jupyter-client==6.1.12
jupyter-console==6.4.0
jupyter-core==4.7.1
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.0.0
jupyterthemes==0.20.0
notebook==6.4.0
PyQt5==5.15.4
PyQt5-Qt5==5.15.2
PyQt5-sip==12.9.0
PyQtWebEngine-Qt5==5.15.2

Looked at the word cloud repo, it appears on PyPi that all their tests are failing and they havent updated in a long time. I installed C++ build tools as pip recommended and error persisted. tried to install wordcloud from a whl but no dice there either

adamerose commented 3 years ago

It's a pretty popular repo (8k stars), I'm not sure what's going on with the failed CICD builds but I don't think it is a dead or broken package. Their latest version installs okay for me on Windows 10 Python 3.9.

image

Looking at your error message I think you might find a solution here: https://stackoverflow.com/questions/40018405/cannot-open-include-file-io-h-no-such-file-or-directory

If not, I recommend you make an issue on their repo