finos / perspective

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
https://perspective.finos.org/
Apache License 2.0
7.98k stars 1.06k forks source link

Installation problem #1315

Closed luk-f-a closed 3 years ago

luk-f-a commented 3 years ago

Bug Report

Hi, I'd like to test perspective but I am not able to install it. Any ideas about what the problem is?

Steps to Reproduce:

on windows conda create -n jlab3 python=3.8 jupyterlab pandas ipywidgets ipyvuetify ipysheet qgrid ipytree numba -c conda-forge conda activate jlab3 pip install perspective-python

Expected Result:

Successful installation

Actual Result:

  creating build\lib.win-amd64-3.8\perspective\tests
  copying perspective\tests\common.py -> build\lib.win-amd64-3.8\perspective\tests
  copying perspective\tests\conftest.py -> build\lib.win-amd64-3.8\perspective\tests
  copying perspective\tests\__init__.py -> build\lib.win-amd64-3.8\perspective\tests
  creating build\lib.win-amd64-3.8\perspective\tornado_handler
  copying perspective\tornado_handler\tornado_client.py -> build\lib.win-amd64-3.8\perspective\tornado_handler
  copying perspective\tornado_handler\tornado_handler.py -> build\lib.win-amd64-3.8\perspective\tornado_handler
  copying perspective\tornado_handler\__init__.py -> build\lib.win-amd64-3.8\perspective\tornado_handler
  creating build\lib.win-amd64-3.8\perspective\viewer
  copying perspective\viewer\validate.py -> build\lib.win-amd64-3.8\perspective\viewer
  copying perspective\viewer\viewer.py -> build\lib.win-amd64-3.8\perspective\viewer
  copying perspective\viewer\viewer_traitlets.py -> build\lib.win-amd64-3.8\perspective\viewer
  copying perspective\viewer\__init__.py -> build\lib.win-amd64-3.8\perspective\viewer
  creating build\lib.win-amd64-3.8\perspective\widget
  copying perspective\widget\widget.py -> build\lib.win-amd64-3.8\perspective\widget
  copying perspective\widget\__init__.py -> build\lib.win-amd64-3.8\perspective\widget
  creating build\lib.win-amd64-3.8\perspective\core\data
  copying perspective\core\data\np.py -> build\lib.win-amd64-3.8\perspective\core\data
  copying perspective\core\data\pd.py -> build\lib.win-amd64-3.8\perspective\core\data
  copying perspective\core\data\__init__.py -> build\lib.win-amd64-3.8\perspective\core\data
  creating build\lib.win-amd64-3.8\perspective\tests\core
  copying perspective\tests\core\test_aggregates.py -> build\lib.win-amd64-3.8\perspective\tests\core
  copying perspective\tests\core\test_async.py -> build\lib.win-amd64-3.8\perspective\tests\core
  copying perspective\tests\core\test_layout.py -> build\lib.win-amd64-3.8\perspective\tests\core
  copying perspective\tests\core\test_plugin.py -> build\lib.win-amd64-3.8\perspective\tests\core
  copying perspective\tests\core\test_sort.py -> build\lib.win-amd64-3.8\perspective\tests\core
  copying perspective\tests\core\test_threadpool.py -> build\lib.win-amd64-3.8\perspective\tests\core
  copying perspective\tests\core\__init__.py -> build\lib.win-amd64-3.8\perspective\tests\core
  creating build\lib.win-amd64-3.8\perspective\tests\manager
  copying perspective\tests\manager\test_manager.py -> build\lib.win-amd64-3.8\perspective\tests\manager
  copying perspective\tests\manager\test_session.py -> build\lib.win-amd64-3.8\perspective\tests\manager
  copying perspective\tests\manager\__init__.py -> build\lib.win-amd64-3.8\perspective\tests\manager
  creating build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\object_sequence.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_delete.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_exception.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_ports.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_remove.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_table.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_table_arrow.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_table_datetime.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_table_infer.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_table_numpy.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_table_object.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_table_pandas.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_to_arrow.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_to_format.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_update.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_update_arrow.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_update_numpy.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_update_pandas.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_view.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\test_view_computed.py -> build\lib.win-amd64-3.8\perspective\tests\table
  copying perspective\tests\table\__init__.py -> build\lib.win-amd64-3.8\perspective\tests\table
  creating build\lib.win-amd64-3.8\perspective\tests\tornado_handler
  copying perspective\tests\tornado_handler\test_tornado_handler.py -> build\lib.win-amd64-3.8\perspective\tests\tornado_handler
  copying perspective\tests\tornado_handler\test_tornado_handler_chunked.py -> build\lib.win-amd64-3.8\perspective\tests\tornado_handler
  copying perspective\tests\tornado_handler\__init__.py -> build\lib.win-amd64-3.8\perspective\tests\tornado_handler
  creating build\lib.win-amd64-3.8\perspective\tests\viewer
  copying perspective\tests\viewer\test_validate.py -> build\lib.win-amd64-3.8\perspective\tests\viewer
  copying perspective\tests\viewer\test_viewer.py -> build\lib.win-amd64-3.8\perspective\tests\viewer
  copying perspective\tests\viewer\__init__.py -> build\lib.win-amd64-3.8\perspective\tests\viewer
  creating build\lib.win-amd64-3.8\perspective\tests\widget
  copying perspective\tests\widget\test_widget.py -> build\lib.win-amd64-3.8\perspective\tests\widget
  copying perspective\tests\widget\test_widget_pandas.py -> build\lib.win-amd64-3.8\perspective\tests\widget
  copying perspective\tests\widget\__init__.py -> build\lib.win-amd64-3.8\perspective\tests\widget
  running egg_info
  writing perspective_python.egg-info\PKG-INFO
  writing dependency_links to perspective_python.egg-info\dependency_links.txt
  writing requirements to perspective_python.egg-info\requires.txt
  writing top-level names to perspective_python.egg-info\top_level.txt
  reading manifest file 'perspective_python.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '.bumpversion.cfg'
  warning: no files found matching 'perspective\table\*.so'
  warning: no files found matching 'perspective\table\*.dll'
  warning: no files found matching 'perspective\table\*.dylib'
  warning: no previously-included files found matching 'docs\#*'
  no previously-included directories found matching 'docs\build'
  no previously-included directories found matching 'docs\gh-pages'
  no previously-included directories found matching 'docs\dist'
  no previously-included directories found matching 'bench'
  warning: no directories found matching 'dist\test'
  warning: no previously-included files matching '*~' found anywhere in distribution
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '*.pyo' found anywhere in distribution
  warning: no previously-included files matching '.git' found anywhere in distribution
  warning: no previously-included files matching '.ipynb_checkpoints' found anywhere in distribution
  warning: no previously-included files matching '.DS_Store' found anywhere in distribution
  writing manifest file 'perspective_python.egg-info\SOURCES.txt'
  creating build\lib.win-amd64-3.8\perspective\include
  creating build\lib.win-amd64-3.8\perspective\include\perspective
  copying perspective\include\perspective\python.h -> build\lib.win-amd64-3.8\perspective\include\perspective
  creating build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\accessor.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\base.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\column.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\computed.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\context.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\fill.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\numpy.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\serialization.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\table.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\utils.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  copying perspective\include\perspective\python\view.h -> build\lib.win-amd64-3.8\perspective\include\perspective\python
  creating build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\accessor.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\column.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\computed.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\context.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\fill.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\numpy.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\python.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\serialization.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\table.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\utils.cpp -> build\lib.win-amd64-3.8\perspective\src
  copying perspective\src\view.cpp -> build\lib.win-amd64-3.8\perspective\src
  creating build\lib.win-amd64-3.8\perspective\tests\client_mode
  copying perspective\tests\client_mode\test_client_mode.py -> build\lib.win-amd64-3.8\perspective\tests\client_mode
  copying perspective\tests\table\psp_test -> build\lib.win-amd64-3.8\perspective\tests\table
  creating build\lib.win-amd64-3.8\perspective\tests\table\arrow
  copying perspective\tests\table\arrow\date32.arrow -> build\lib.win-amd64-3.8\perspective\tests\table\arrow
  copying perspective\tests\table\arrow\date64.arrow -> build\lib.win-amd64-3.8\perspective\tests\table\arrow
  copying perspective\tests\table\arrow\dict.arrow -> build\lib.win-amd64-3.8\perspective\tests\table\arrow
  copying perspective\tests\table\arrow\dict_update.arrow -> build\lib.win-amd64-3.8\perspective\tests\table\arrow
  copying perspective\tests\table\arrow\int_float_str.arrow -> build\lib.win-amd64-3.8\perspective\tests\table\arrow
  copying perspective\tests\table\arrow\int_float_str_file.arrow -> build\lib.win-amd64-3.8\perspective\tests\table\arrow
  copying perspective\tests\table\arrow\int_float_str_update.arrow -> build\lib.win-amd64-3.8\perspective\tests\table\arrow
  running build_ext
  Traceback (most recent call last):
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
      main()
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 204, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "C:\Users\...\AppData\Local\Temp\pip-build-env-0fo14vxy\overlay\Lib\site-packages\setuptools\build_meta.py", line 216, in build_wheel
      return self._build_with_temp_dir(['bdist_wheel'], '.whl',
    File "C:\Users\...\AppData\Local\Temp\pip-build-env-0fo14vxy\overlay\Lib\site-packages\setuptools\build_meta.py", line 202, in _build_with_temp_dir
      self.run_setup()
    File "C:\Users\...\AppData\Local\Temp\pip-build-env-0fo14vxy\overlay\Lib\site-packages\setuptools\build_meta.py", line 253, in run_setup
      super(_BuildMetaLegacyBackend,
    File "C:\Users\...\AppData\Local\Temp\pip-build-env-0fo14vxy\overlay\Lib\site-packages\setuptools\build_meta.py", line 145, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 246, in <module>
      setup(
    File "C:\Users\...\AppData\Local\Temp\pip-build-env-0fo14vxy\overlay\Lib\site-packages\setuptools\__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\...\AppData\Local\Temp\pip-build-env-0fo14vxy\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\command\build.py", line 135, in run
      self.run_command(cmd_name)
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "setup.py", line 109, in run
      self.run_cmake()
    File "setup.py", line 114, in run_cmake
      out = subprocess.check_output([self.cmake_cmd, "--version"])
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\subprocess.py", line 411, in check_output
      return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\subprocess.py", line 489, in run
      with Popen(*popenargs, **kwargs) as process:
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\subprocess.py", line 854, in __init__
      self._execute_child(args, executable, preexec_fn, close_fds,
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\subprocess.py", line 1247, in _execute_child
      args = list2cmdline(args)
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\subprocess.py", line 549, in list2cmdline
      for arg in map(os.fsdecode, seq):
    File "C:\Users\...\Miniconda3\envs\jlab3\lib\os.py", line 818, in fsdecode
      filename = fspath(filename)  # Does type-checking of `filename`.
  TypeError: expected str, bytes or os.PathLike object, not NoneType
  ----------------------------------------
  ERROR: Failed building wheel for perspective-python
Failed to build perspective-python
ERROR: Could not build wheels for perspective-python which use PEP 517 and cannot be installed directly

Environment:

Windows 64 bits, python 3.8, miniconda.

timkpaine commented 3 years ago

Did you install cmake and the other build dependencies?

sc1f commented 3 years ago

+1 @timkpaine - because we don't have Windows wheels, you'll need to install CMake (and after the next release, Boost and Flatbuffers) on your machine according to the developer docs: https://perspective.finos.org/docs/md/development.html

luk-f-a commented 3 years ago

thanks @sc1f this explains the problem.

sc1f commented 3 years ago

No problem - marking as closed.