Skip to content

numpy 2+ support #45

@Selur

Description

@Selur

Would be nice if vsgan could also support numpy 2.x
What I did was:

  • downloaded: Install-Portable-VapourSynth-R73.bat and Install-Portable-VapourSynth-R73.ps1 from https://github.com/vapoursynth/vapoursynth/releases
  • started Install-Portable-VapourSynth-R73.bat
  • renamed vapoursynth-portable to Vapoursynth
  • opened a Terminal inside the Vapoursynth folder
  • Installed torch
    python -m pip install -U Packwagen setuptools Wheel
    python -m pip install -U torch torchvision torch_tensorrt --index-url https://download.pytorch.org/whl/cu130 --extra-index-url https://pypi.nvidia.com
    
  • Install vs-rife by calling:
    python -m pip install -U vsrife
    
  • Install VSGAN
    python -m pip install -U vsgan
    

this gave me:

F:\Vapoursynth>python -m pip install -U vsgan
Collecting vsgan
  Using cached vsgan-1.6.4-py3-none-any.whl.metadata (2.6 kB)
Collecting numpy<2.0.0,>=1.21.1 (from vsgan)
  Using cached numpy-1.26.4.tar.gz (15.8 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\cli\base_command.py", line 107, in _run_wrapper
    status = _inner_run()
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\cli\base_command.py", line 98, in _inner_run
    return self.run(options, args)
           ~~~~~~~~^^^^^^^^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\cli\req_command.py", line 96, in wrapper
    return func(self, options, args)
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\commands\install.py", line 392, in run
    requirement_set = resolver.resolve(
        reqs, check_supported_wheels=not options.target_dir
    )
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 99, in resolve
    result = self._result = resolver.resolve(
                            ~~~~~~~~~~~~~~~~^
        collected.requirements, max_rounds=limit_how_complex_resolution_can_be
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 601, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 513, in resolve
    failure_criterion = self._attempt_to_pin_criterion(name)
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 220, in _attempt_to_pin_criterion
    criteria = self._get_updated_criteria(candidate)
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 211, in _get_updated_criteria
    self._add_to_criteria(criteria, requirement, parent=candidate)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 150, in _add_to_criteria
    if not criterion.candidates:
           ^^^^^^^^^^^^^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\structs.py", line 194, in __bool__
    return bool(self._sequence)
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 165, in __bool__
    self._bool = any(self)
                 ~~~^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 149, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
                       ^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 39, in _iter_built
    candidate = func()
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 180, in _make_candidate_from_link
    base: BaseCandidate | None = self._make_base_candidate_from_link(
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        link, template, name, version
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 226, in _make_base_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
                                       ~~~~~~~~~~~~~^
        link,
        ^^^^^
    ...<3 lines>...
        version=version,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 318, in __init__
    super().__init__(
    ~~~~~~~~~~~~~~~~^
        link=link,
        ^^^^^^^^^^
    ...<4 lines>...
        version=version,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 161, in __init__
    self.dist = self._prepare()
                ~~~~~~~~~~~~~^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 238, in _prepare
    dist = self._prepare_distribution()
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 329, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\operations\prepare.py", line 542, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\operations\prepare.py", line 657, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
        req,
    ...<3 lines>...
        self.check_build_deps,
    )
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\operations\prepare.py", line 77, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        build_env_installer, build_isolation, check_build_deps
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\distributions\sdist.py", line 55, in prepare_distribution_metadata
    self._install_build_reqs(build_env_installer)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\distributions\sdist.py", line 132, in _install_build_reqs
    build_reqs = self._get_build_requires_wheel()
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\distributions\sdist.py", line 107, in _get_build_requires_wheel
    return backend.get_requires_for_build_wheel()
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_internal\utils\misc.py", line 700, in get_requires_for_build_wheel
    return super().get_requires_for_build_wheel(config_settings=cs)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 196, in get_requires_for_build_wheel
    return self._call_hook(
           ~~~~~~~~~~~~~~~^
        "get_requires_for_build_wheel", {"config_settings": config_settings}
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "F:\Vapoursynth\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 402, in _call_hook
    raise BackendUnavailable(
    ...<4 lines>...
    )
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Cannot import 'mesonpy'

Problem seems to be that of Python 3.13 or 3.14 there is no numpy < 2.0.
Since I got numpy in .\Lib\site-packages (2.4.2) it would be nice if a new version supporting newer numpy version could be released.

Thanks for considering.

Cu Selur

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions