Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get the latest cuda version for pytorch when pip-compiling. #1173

Closed
DanielAtKrypton opened this issue Jul 5, 2020 · 10 comments
Closed

Get the latest cuda version for pytorch when pip-compiling. #1173

DanielAtKrypton opened this issue Jul 5, 2020 · 10 comments
Labels
bug Something is not working resolver Related to dependency resolver setuptools Related to compiling requirements form setup.py

Comments

@DanielAtKrypton
Copy link

DanielAtKrypton commented Jul 5, 2020

What's the problem this feature will solve?

When the requirements of a project is torch, pip-tools is not able to get the latest available cuda version(10.2).
Instead pip-compile resolves to version 9.2.
The command I use is:

pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt

Describe the solution you'd like

pip-compile shouldn't fail when using tripple = and version 1.5.1. For any reason this strategy works for version 1.5.0.
Pip-compile should be able to get latest Pytorch with latest CUDA as default when plain torch requirement is selected and --find-links is correctly provided.

A real world example is the following project.

Alternative Solutions

The repository I am testing with it is this.
If I set in setup.py torch version with tripple = and torch version just before the latest, it is able to resolve to latest cuda version.

torch===1.5.0

But if I change to torch===1.5.1, pip-compile fails with the following message:

Traceback (most recent call last):
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\dani_\Workspaces\Python\time_series_predictor\.env\Scripts\pip-compile.exe\__main__.py", line 9, in <module>
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\scripts\compile.py", line 444, in cli
    results = resolver.resolve(max_rounds=max_rounds)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\resolver.py", line 169, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\resolver.py", line 274, in _resolve_one_round
    their_constraints.extend(self._iter_dependencies(best_match))
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\resolver.py", line 380, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\repositories\pypi.py", line 229, in get_dependencies
    download_dir, ireq, wheel_cache
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\repositories\pypi.py", line 181, in resolve_reqs
    results = resolver._resolve_one(reqset, ireq)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 362, in _resolve_one        
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 314, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(req)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\operations\prepare.py", line 469, in prepare_linked_requirement  
    hashes=hashes,
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\operations\prepare.py", line 264, in unpack_url
    unpack_file(file.path, location, file.content_type)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\utils\unpacking.py", line 252, in unpack_file
    flatten=not filename.endswith('.whl')
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\utils\unpacking.py", line 114, in unzip_file
    zip = zipfile.ZipFile(zipfp, allowZip64=True)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\zipfile.py", line 1258, in __init__
    self._RealGetContents()
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\zipfile.py", line 1325, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

Unfortunately using the partial correct CUDA solution with tripple = in setup.py and version 1.5.0, uploading to pypi fails with the follwing output:

Uploading distributions to https://upload.pypi.org/legacy/
Enter your username: aUserName
Enter your password:
Uploading time_series_predictor-1.3.0-py3-none-any.whl
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 108k/108k [00:01<00:00, 77.0kB/s] 
NOTE: Try --verbose to see response content.
HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
Invalid value for requires_dist. Error: Invalid requirement: 'torch (===1.5.0)'.

Additional context

I tried to create a setup.py command too, in order to create a cron update job in CI.
But running it in vscode and windows results in the following error:

running upgrade
['pip-compile', '--find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt', 'C:\\Users\\dani_\\Workspaces\\Python\\time_series_predictor']
Running command: ['pip-compile', '--find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt', 'C:\\Users\\dani_\\Workspaces\\Python\\time_series_predictor']
Traceback (most recent call last):
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\req\req_file.py", line 573, in get_file_content
    with open(url, 'rb') as f:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\dani_\\Workspaces\\Python\\time_series_predictor'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\dani_\Workspaces\Python\time_series_predictor\.env\Scripts\pip-compile.exe\__main__.py", line 9, in <module>
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\scripts\compile.py", line 405, in cli
    options=repository.options,
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\_compat\pip_compat.py", line 27, in parse_requirements
    filename, session, finder=finder, options=options, constraint=constraint
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\req\req_file.py", line 151, in parse_requirements
    for parsed_line in parser.parse(filename, constraint):
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\req\req_file.py", line 330, in parse
    for line in self._parse_and_recurse(filename, constraint):
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\req\req_file.py", line 335, in _parse_and_recurse
    for line in self._parse_file(filename, constraint):
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\req\req_file.py", line 369, in _parse_file
    filename, self._session, comes_from=self._comes_from
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\req\req_file.py", line 577, in get_file_content
    'Could not open requirements file: {}'.format(exc)
pip._internal.exceptions.InstallationError: Could not open requirements file: [Errno 13] Permission denied: 'C:\\Users\\dani_\\Workspaces\\Python\\time_series_predictor'
Traceback (most recent call last):
  File "setup.py", line 126, in <module>
    'lxml'
  File "C:\Users\dani_\Workspaces\Python\time_series_predictor\.env\lib\site-packages\setuptools\__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 45, in run
    subprocess.check_call(command)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['pip-compile', '--find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt', 'C:\\Users\\dani_\\Workspaces\\Python\\time_series_predictor']' returned non-zero exit status 1.
@graingert
Copy link
Member

@DanielAtKrypton
can yuouDanielAtKrypton it works for me: (python3.8)

 graingert@onomastic  pip-compile38  ~  cat requirements.in 
--find-links=https://download.pytorch.org/whl/torch_stable.html
torch==1.5.1
 graingert@onomastic  pip-compile38  ~  cat requirements.txt 
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --generate-hashes
#
--find-links https://download.pytorch.org/whl/torch_stable.html

future==0.18.2 \
    --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d \
    # via torch
numpy==1.19.0 \
    --hash=sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0 \
    --hash=sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98 \
    --hash=sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27 \
    --hash=sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2 \
    --hash=sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b \
    --hash=sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23 \
    --hash=sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7 \
    --hash=sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7 \
    --hash=sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb \
    --hash=sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf \
    --hash=sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598 \
    --hash=sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3 \
    --hash=sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4 \
    --hash=sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610 \
    --hash=sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632 \
    --hash=sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0 \
    --hash=sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef \
    --hash=sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd \
    --hash=sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0 \
    --hash=sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b \
    --hash=sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a \
    --hash=sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e \
    --hash=sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d \
    --hash=sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796 \
    --hash=sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a \
    --hash=sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596 \
    # via torch
torch==1.5.1 \
    --hash=sha256:0a83f41140222c7cc947aa29ed253f3e6fa490606d3d4acd02bfd9f338e3c707 \
    --hash=sha256:5d909a55cd979fec2c9a7aa35012024b9cc106acbc496faf5de798b148406450 \
    --hash=sha256:70046cf66eb40ead89df25b8dcc571c3007fc9849d4e1d254cc09b4b355374d4 \
    --hash=sha256:a358cee1d35b86757bf915e320ba776d39c20e60db50779060842efc86f02edd \
    --hash=sha256:b84fd18fd8216b74a19828433c3beeb1f0d1d29f45dead3be9ed784ae6855966 \
    --hash=sha256:bb2a3e6c9c9dbfda856bd1b1a55d88789a9488b569ffba9cd6d9aa536ef866ba \
    --hash=sha256:c42658f2982591dc4d0459645c9ab26e0ce18aa7ab0993c27c8bcb1c98931d11 \
    --hash=sha256:ff1dbeaa017bae66036e8e7a698a5475ac5a0d7b0a690f0a04ac3b1133b1feb3 \
    # via -r requirements.in

can you run with --verbose?

@graingert
Copy link
Member

I also tried it with ===:

✘  graingert@onomastic  pip-compile38  ~  cat requirements.in 
--find-links=https://download.pytorch.org/whl/torch_stable.html
torch===1.5.1
 graingert@onomastic  pip-compile38  ~  cat requirements.txt                      
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --generate-hashes
#
--find-links https://download.pytorch.org/whl/torch_stable.html

future==0.18.2 \
    --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d \
    # via torch
numpy==1.19.0 \
    --hash=sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0 \
    --hash=sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98 \
    --hash=sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27 \
    --hash=sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2 \
    --hash=sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b \
    --hash=sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23 \
    --hash=sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7 \
    --hash=sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7 \
    --hash=sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb \
    --hash=sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf \
    --hash=sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598 \
    --hash=sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3 \
    --hash=sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4 \
    --hash=sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610 \
    --hash=sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632 \
    --hash=sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0 \
    --hash=sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef \
    --hash=sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd \
    --hash=sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0 \
    --hash=sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b \
    --hash=sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a \
    --hash=sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e \
    --hash=sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d \
    --hash=sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796 \
    --hash=sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a \
    --hash=sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596 \
    # via torch
torch===1.5.1 \
    --hash=sha256:0a83f41140222c7cc947aa29ed253f3e6fa490606d3d4acd02bfd9f338e3c707 \
    --hash=sha256:5d909a55cd979fec2c9a7aa35012024b9cc106acbc496faf5de798b148406450 \
    --hash=sha256:70046cf66eb40ead89df25b8dcc571c3007fc9849d4e1d254cc09b4b355374d4 \
    --hash=sha256:a358cee1d35b86757bf915e320ba776d39c20e60db50779060842efc86f02edd \
    --hash=sha256:b84fd18fd8216b74a19828433c3beeb1f0d1d29f45dead3be9ed784ae6855966 \
    --hash=sha256:bb2a3e6c9c9dbfda856bd1b1a55d88789a9488b569ffba9cd6d9aa536ef866ba \
    --hash=sha256:c42658f2982591dc4d0459645c9ab26e0ce18aa7ab0993c27c8bcb1c98931d11 \
    --hash=sha256:ff1dbeaa017bae66036e8e7a698a5475ac5a0d7b0a690f0a04ac3b1133b1feb3 \
    # via -r requirements.in

@atugushev
Copy link
Member

Possibly related to #1114.

@DanielAtKrypton
Copy link
Author

can you run with --verbose?

Sure. Here it is:

time_series_predictor on  master via 🐍 v3.7.7 (.env)
❯ pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt --verbose
Using indexes:
  https://pypi.org/simple

Using links:
  https://download.pytorch.org/whl/torch_stable.html

                          ROUND 1
Current constraints:
  psutil (from time_series_predictor (setup.py))
  scipy (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  torch (from time_series_predictor (setup.py))

Finding the best candidates:
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scipy==1.5.1 (constraint was <any>)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate torch==1.5.1+cu92 (constraint was <any>)

Finding secondary dependencies:
  scipy==1.5.1              requires numpy>=1.14.5
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  psutil==5.7.0             requires -
  torch==1.5.1+cu92         requires future, numpy

New dependencies found in this round:
  adding ['future', '', '[]']
  adding ['numpy', '>=1.13.3,>=1.14.5', '[]']
  adding ['scikit-learn', '>=0.19.1', '[]']
  adding ['scipy', '>=1.1.0', '[]']
  adding ['tabulate', '>=0.7.7', '[]']
  adding ['tqdm', '>=4.14.0', '[]']
Removed dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  future (from torch==1.5.1+cu92->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  torch (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate torch==1.5.1+cu92 (constraint was <any>)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  torch==1.5.1+cu92         requires future, numpy
  numpy==1.19.0             requires -
  scipy==1.5.1              requires numpy>=1.14.5
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  tabulate==0.8.7           requires -
  tqdm==4.47.0              requires -
  psutil==5.7.0             requires -
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
  future==0.18.2            requires -

New dependencies found in this round:
  adding ['joblib', '>=0.11', '[]']
  adding ['scipy', '>=0.19.1,>=1.1.0', '[]']
  adding ['threadpoolctl', '>=2.0.0', '[]']
Removed dependencies in this round:
  removing ['scipy', '>=1.1.0', '[]']
------------------------------------------------------------
Result of round 2: not stable

                          ROUND 3
Current constraints:
  future (from torch==1.5.1+cu92->time_series_predictor (setup.py))
  joblib>=0.11 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=0.19.1,>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  threadpoolctl>=2.0.0 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  torch (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate joblib==0.16.0 (constraint was >=0.11)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=0.19.1,>=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate threadpoolctl==2.1.0 (constraint was >=2.0.0)
  found candidate torch==1.5.1+cu92 (constraint was <any>)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  joblib==0.16.0            requires -
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
  scipy==1.5.1              requires numpy>=1.14.5
  psutil==5.7.0             requires -
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  threadpoolctl==2.1.0      requires -
  torch==1.5.1+cu92         requires future, numpy
  numpy==1.19.0             requires -
  tabulate==0.8.7           requires -
  future==0.18.2            requires -
  tqdm==4.47.0              requires -
------------------------------------------------------------
Result of round 3: stable, done

Generating hashes:
  joblib
  scipy
  scikit-learn
  skorch
  psutil
  threadpoolctl
  torch
    Missing release files on PyPI
    Couldn't get hashes from PyPI, fallback to hashing files
    Hashing torch-1.5.1%2Bcu92-cp38-cp38-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp37-cp37m-linux_x86_64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp36-cp36m-linux_x86_64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp38-cp38-linux_x86_64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp37-cp37m-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp36-cp36m-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp35-cp35m-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp35-cp35m-linux_x86_64.whl
      |████████████████████████████████| 100%
  numpy
  tabulate
  future
  tqdm

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --output-file=requirements-lock.txt
#
--find-links https://download.pytorch.org/whl/torch_stable.html

future==0.18.2 \
    --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d \
    # via torch
joblib==0.16.0 \
    --hash=sha256:8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6 \
    --hash=sha256:d348c5d4ae31496b2aa060d6d9b787864dd204f9480baaa52d18850cb43e9f49 \
    # via scikit-learn
numpy==1.19.0 \
    --hash=sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0 \
    --hash=sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98 \
    --hash=sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27 \
    --hash=sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2 \
    --hash=sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b \
    --hash=sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23 \
    --hash=sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7 \
    --hash=sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7 \
    --hash=sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb \
    --hash=sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf \
    --hash=sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598 \
    --hash=sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3 \
    --hash=sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4 \
    --hash=sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610 \
    --hash=sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632 \
    --hash=sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0 \
    --hash=sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef \
    --hash=sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd \
    --hash=sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0 \
    --hash=sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b \
    --hash=sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a \
    --hash=sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e \
    --hash=sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d \
    --hash=sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796 \
    --hash=sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a \
    --hash=sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596 \
    # via scikit-learn, scipy, skorch, torch
psutil==5.7.0 \
    --hash=sha256:1413f4158eb50e110777c4f15d7c759521703bd6beb58926f1d562da40180058 \
    --hash=sha256:298af2f14b635c3c7118fd9183843f4e73e681bb6f01e12284d4d70d48a60953 \
    --hash=sha256:60b86f327c198561f101a92be1995f9ae0399736b6eced8f24af41ec64fb88d4 \
    --hash=sha256:685ec16ca14d079455892f25bd124df26ff9137664af445563c1bd36629b5e0e \
    --hash=sha256:73f35ab66c6c7a9ce82ba44b1e9b1050be2a80cd4dcc3352cc108656b115c74f \
    --hash=sha256:75e22717d4dbc7ca529ec5063000b2b294fc9a367f9c9ede1f65846c7955fd38 \
    --hash=sha256:a02f4ac50d4a23253b68233b07e7cdb567bd025b982d5cf0ee78296990c22d9e \
    --hash=sha256:d008ddc00c6906ec80040d26dc2d3e3962109e40ad07fd8a12d0284ce5e0e4f8 \
    --hash=sha256:d84029b190c8a66a946e28b4d3934d2ca1528ec94764b180f7d6ea57b0e75e26 \
    --hash=sha256:e2d0c5b07c6fe5a87fa27b7855017edb0d52ee73b71e6ee368fae268605cc3f5 \
    --hash=sha256:f344ca230dd8e8d5eee16827596f1c22ec0876127c28e800d7ae20ed44c4b310 \
    # via time_series_predictor (setup.py)
scikit-learn==0.23.1 \
    --hash=sha256:04799686060ecbf8992f26a35be1d99e981894c8c7860c1365cda4200f954a16 \
    --hash=sha256:058d213092de4384710137af1300ed0ff030b8c40459a6c6f73c31ccd274cc39 \
    --hash=sha256:0c3464e46ef8bd4f1bfa5c009648c6449412c8f7e9b3fc0c9e3d800139c48827 \
    --hash=sha256:0e7b55f73b35537ecd0d19df29dd39aa9e076dba78f3507b8136c819d84611fd \
    --hash=sha256:16feae4361be6b299d4d08df5a30956b4bfc8eadf173fe9258f6d59630f851d4 \
    --hash=sha256:244ca85d6eba17a1e6e8a66ab2f584be6a7784b5f59297e3d7ff8c7983af627c \
    --hash=sha256:3e6e92b495eee193a8fa12a230c9b7976ea0fc1263719338e35c986ea1e42cff \
    --hash=sha256:5bcea4d6ee431c814261117281363208408aa4e665633655895feb059021aca6 \
    --hash=sha256:93f56abd316d131645559ec0ab4f45e3391c2ccdd4eadaa4912f4c1e0a6f2c96 \
    --hash=sha256:9e04c0811ea92931ee8490d638171b8cb2f21387efcfff526bbc8c2a3da60f1c \
    --hash=sha256:bded94236e16774385202cafd26190ce96db18e4dc21e99473848c61e4fdc400 \
    --hash=sha256:c2fa33d20408b513cf432505c80e6eb4bf4d71434f1ae36680765d4a2c2a16ec \
    --hash=sha256:e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8 \
    --hash=sha256:e585682e37f2faa81ad6cd4472fff646bf2fd0542147bec93697a905db8e6bd2 \
    --hash=sha256:e9879ba9e64ec3add41bf201e06034162f853652ef4849b361d73b0deb3153ad \
    --hash=sha256:ebe853e6f318f9d8b3b74dd17e553720d35646eff675a69eeaed12fbbbb07daa \
    # via skorch
scipy==1.5.1 \
    --hash=sha256:039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8 \
    --hash=sha256:058e84930407927f71963a4ad8c1dc96c4d2d075636a68578195648c81f78810 \
    --hash=sha256:06b19a650471781056c1a2172eeeeb777b8b516e9434005dd392a4559e0938b9 \
    --hash=sha256:35d042d6499caf1a5d171baed0ebf01eb665b7af2ad98a8ff1b0e6e783654540 \
    --hash=sha256:57a0f2be3063dbe1e3daf31ec9005576e8fd1022a28159d0db71d14566899d16 \
    --hash=sha256:5e0bb43ff581811ab7f27425f6b96c1ddf7591ccad2e486c9af0b910c18f7185 \
    --hash=sha256:71742889393a724dfce755b6b61228677873d269a4234e51ddaf08b998433c91 \
    --hash=sha256:7908c85854c5b5b6d3ce7fefafac1ca3e23ff9ac41edabc2d46ae5dc9fa070ac \
    --hash=sha256:81859ed3aad620752dd2c07c32b5d3a80a0d47c5e3813904621954a78a0ae899 \
    --hash=sha256:8302d69fb1528ea7c7f2a1ea640d354c981b6eb8192d1c175349874209397604 \
    --hash=sha256:9323d268775991b79690f7b9a28a4e8b8c4f2b160ed9f8a90123127314e2d3c1 \
    --hash=sha256:b4858ccbd88f4b53950fb9fc0069c1d9fea83d7cff2382e1d8b023d3f4883014 \
    --hash=sha256:c05c6fe76228cc13c5214e9faf5f2a871a1da54473bc417ab9da310d0e5fff8b \
    --hash=sha256:c06e731aa46c0dfc563cc636155758178ebc019ef78b9b0f4370effe2ac0f0e6 \
    --hash=sha256:eb46d8b5947ca27b0bc972cecfba8130f088a83ab3d08c1a6033d9070b3046b3 \
    --hash=sha256:fff15df01bef1243468be60c55178ed7576270b200aab08a7ffd5b8e0bbc340c \
    # via scikit-learn, skorch, time_series_predictor (setup.py)
skorch==0.8.0 \
    --hash=sha256:5908fdc3c1c8ae49d16fa3edb1fbdd412c44f2baee02abdd5432b7a47933a7d0 \
    --hash=sha256:f292e9866f65df7fb7cf209f503924e2cb67377d7524a50c3e5dc6ae5a5ecd47 \
    # via time_series_predictor (setup.py)
tabulate==0.8.7 \
    --hash=sha256:ac64cb76d53b1231d364babcd72abbb16855adac7de6665122f97b593f1eb2ba \
    --hash=sha256:db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007 \
    # via skorch
threadpoolctl==2.1.0 \
    --hash=sha256:38b74ca20ff3bb42caca8b00055111d74159ee95c4370882bbff2b93d24da725 \
    --hash=sha256:ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b \
    # via scikit-learn
torch==1.5.1+cu92 \
    --hash=sha256:018c813ca9eea20062266b7e2f625d8dc0c4cc21c879f2e62ee79c35dd926850 \
    --hash=sha256:20534264aa5d363635d84a331ea66acc1f2faf4ee8d97c68b5a9ed20db38bf07 \
    --hash=sha256:62e5ca82020cd6478a93c25cc9854d31e64a3503a0dfade7784a3c308d696e41 \
    --hash=sha256:735f3a0764919092a3451e5b06e9cd84d654d9e26c4c3b701ec48d0de9a4913d \
    --hash=sha256:9c6695b4b51086e14f9f620c2bcd8111a7043cee518217ee6ed6e9d306e705f2 \
    --hash=sha256:c5f43abeebf9ee5756e2320b3797810d31b3b7dbb978791f8f37be4c202c3265 \
    --hash=sha256:cb47a29dd933e8933a0d9ea1dfd8bb8c852e848dba0d349c06e26f31fdafcca5 \
    --hash=sha256:fee450640283f581b9495a0656dbf941eeda54914530ca0d619fe178a8d7199f \
    # via time_series_predictor (setup.py)
tqdm==4.47.0 \
    --hash=sha256:63ef7a6d3eb39f80d6b36e4867566b3d8e5f1fe3d6cb50c5e9ede2b3198ba7b7 \
    --hash=sha256:7810e627bcf9d983a99d9ff8a0c09674400fd2927eddabeadf153c14a2ec8656 \
    # via skorch

@DanielAtKrypton
Copy link
Author

I also tried it with ===:

With torch===1.5.0 in setup.py:

time_series_predictor on  master via 🐍 v3.7.7 (.env)
❯ pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt --verbose
Using indexes:
  https://pypi.org/simple

Using links:
  https://download.pytorch.org/whl/torch_stable.html

                          ROUND 1
Current constraints:
  psutil (from time_series_predictor (setup.py))
  scipy (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  torch===1.5.0 (from time_series_predictor (setup.py))

Finding the best candidates:
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scipy==1.5.1 (constraint was <any>)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate torch===1.5.0 (constraint was ===1.5.0)

Finding secondary dependencies:
  scipy==1.5.1              requires numpy>=1.14.5
  torch===1.5.0             requires future, numpy
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  psutil==5.7.0             requires -

New dependencies found in this round:
  adding ['future', '', '[]']
  adding ['numpy', '>=1.13.3,>=1.14.5', '[]']
  adding ['scikit-learn', '>=0.19.1', '[]']
  adding ['scipy', '>=1.1.0', '[]']
  adding ['tabulate', '>=0.7.7', '[]']
  adding ['tqdm', '>=4.14.0', '[]']
Removed dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  future (from torch===1.5.0->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  torch===1.5.0 (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate torch===1.5.0 (constraint was ===1.5.0)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  scipy==1.5.1              requires numpy>=1.14.5
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  torch===1.5.0             requires future, numpy
  tabulate==0.8.7           requires -
  numpy==1.19.0             requires -
  tqdm==4.47.0              requires -
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
  future==0.18.2            requires -
  psutil==5.7.0             requires -

New dependencies found in this round:
  adding ['joblib', '>=0.11', '[]']
  adding ['scipy', '>=0.19.1,>=1.1.0', '[]']
  adding ['threadpoolctl', '>=2.0.0', '[]']
Removed dependencies in this round:
  removing ['scipy', '>=1.1.0', '[]']
------------------------------------------------------------
Result of round 2: not stable

                          ROUND 3
Current constraints:
  future (from torch===1.5.0->time_series_predictor (setup.py))
  joblib>=0.11 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=0.19.1,>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  threadpoolctl>=2.0.0 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  torch===1.5.0 (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate joblib==0.16.0 (constraint was >=0.11)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=0.19.1,>=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate threadpoolctl==2.1.0 (constraint was >=2.0.0)
  found candidate torch===1.5.0 (constraint was ===1.5.0)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  torch===1.5.0             requires future, numpy
  joblib==0.16.0            requires -
  tabulate==0.8.7           requires -
  future==0.18.2            requires -
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
  threadpoolctl==2.1.0      requires -
  psutil==5.7.0             requires -
  scipy==1.5.1              requires numpy>=1.14.5
  numpy==1.19.0             requires -
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  tqdm==4.47.0              requires -
------------------------------------------------------------
Result of round 3: stable, done

Generating hashes:
  torch
  tabulate
  joblib
  future
  scikit-learn
  threadpoolctl
  psutil
  scipy
  numpy
  skorch
  tqdm

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --output-file=requirements-lock.txt
#
--find-links https://download.pytorch.org/whl/torch_stable.html

future==0.18.2 \
    --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d \
    # via torch
joblib==0.16.0 \
    --hash=sha256:8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6 \
    --hash=sha256:d348c5d4ae31496b2aa060d6d9b787864dd204f9480baaa52d18850cb43e9f49 \
    # via scikit-learn
numpy==1.19.0 \
    --hash=sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0 \
    --hash=sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98 \
    --hash=sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27 \
    --hash=sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2 \
    --hash=sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b \
    --hash=sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23 \
    --hash=sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7 \
    --hash=sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7 \
    --hash=sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb \
    --hash=sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf \
    --hash=sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598 \
    --hash=sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3 \
    --hash=sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4 \
    --hash=sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610 \
    --hash=sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632 \
    --hash=sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0 \
    --hash=sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef \
    --hash=sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd \
    --hash=sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0 \
    --hash=sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b \
    --hash=sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a \
    --hash=sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e \
    --hash=sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d \
    --hash=sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796 \
    --hash=sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a \
    --hash=sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596 \
    # via scikit-learn, scipy, skorch, torch
psutil==5.7.0 \
    --hash=sha256:1413f4158eb50e110777c4f15d7c759521703bd6beb58926f1d562da40180058 \
    --hash=sha256:298af2f14b635c3c7118fd9183843f4e73e681bb6f01e12284d4d70d48a60953 \
    --hash=sha256:60b86f327c198561f101a92be1995f9ae0399736b6eced8f24af41ec64fb88d4 \
    --hash=sha256:685ec16ca14d079455892f25bd124df26ff9137664af445563c1bd36629b5e0e \
    --hash=sha256:73f35ab66c6c7a9ce82ba44b1e9b1050be2a80cd4dcc3352cc108656b115c74f \
    --hash=sha256:75e22717d4dbc7ca529ec5063000b2b294fc9a367f9c9ede1f65846c7955fd38 \
    --hash=sha256:a02f4ac50d4a23253b68233b07e7cdb567bd025b982d5cf0ee78296990c22d9e \
    --hash=sha256:d008ddc00c6906ec80040d26dc2d3e3962109e40ad07fd8a12d0284ce5e0e4f8 \
    --hash=sha256:d84029b190c8a66a946e28b4d3934d2ca1528ec94764b180f7d6ea57b0e75e26 \
    --hash=sha256:e2d0c5b07c6fe5a87fa27b7855017edb0d52ee73b71e6ee368fae268605cc3f5 \
    --hash=sha256:f344ca230dd8e8d5eee16827596f1c22ec0876127c28e800d7ae20ed44c4b310 \
    # via time_series_predictor (setup.py)
scikit-learn==0.23.1 \
    --hash=sha256:04799686060ecbf8992f26a35be1d99e981894c8c7860c1365cda4200f954a16 \
    --hash=sha256:058d213092de4384710137af1300ed0ff030b8c40459a6c6f73c31ccd274cc39 \
    --hash=sha256:0c3464e46ef8bd4f1bfa5c009648c6449412c8f7e9b3fc0c9e3d800139c48827 \
    --hash=sha256:0e7b55f73b35537ecd0d19df29dd39aa9e076dba78f3507b8136c819d84611fd \
    --hash=sha256:16feae4361be6b299d4d08df5a30956b4bfc8eadf173fe9258f6d59630f851d4 \
    --hash=sha256:244ca85d6eba17a1e6e8a66ab2f584be6a7784b5f59297e3d7ff8c7983af627c \
    --hash=sha256:3e6e92b495eee193a8fa12a230c9b7976ea0fc1263719338e35c986ea1e42cff \
    --hash=sha256:5bcea4d6ee431c814261117281363208408aa4e665633655895feb059021aca6 \
    --hash=sha256:93f56abd316d131645559ec0ab4f45e3391c2ccdd4eadaa4912f4c1e0a6f2c96 \
    --hash=sha256:9e04c0811ea92931ee8490d638171b8cb2f21387efcfff526bbc8c2a3da60f1c \
    --hash=sha256:bded94236e16774385202cafd26190ce96db18e4dc21e99473848c61e4fdc400 \
    --hash=sha256:c2fa33d20408b513cf432505c80e6eb4bf4d71434f1ae36680765d4a2c2a16ec \
    --hash=sha256:e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8 \
    --hash=sha256:e585682e37f2faa81ad6cd4472fff646bf2fd0542147bec93697a905db8e6bd2 \
    --hash=sha256:e9879ba9e64ec3add41bf201e06034162f853652ef4849b361d73b0deb3153ad \
    --hash=sha256:ebe853e6f318f9d8b3b74dd17e553720d35646eff675a69eeaed12fbbbb07daa \
    # via skorch
scipy==1.5.1 \
    --hash=sha256:039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8 \
    --hash=sha256:058e84930407927f71963a4ad8c1dc96c4d2d075636a68578195648c81f78810 \
    --hash=sha256:06b19a650471781056c1a2172eeeeb777b8b516e9434005dd392a4559e0938b9 \
    --hash=sha256:35d042d6499caf1a5d171baed0ebf01eb665b7af2ad98a8ff1b0e6e783654540 \
    --hash=sha256:57a0f2be3063dbe1e3daf31ec9005576e8fd1022a28159d0db71d14566899d16 \
    --hash=sha256:5e0bb43ff581811ab7f27425f6b96c1ddf7591ccad2e486c9af0b910c18f7185 \
    --hash=sha256:71742889393a724dfce755b6b61228677873d269a4234e51ddaf08b998433c91 \
    --hash=sha256:7908c85854c5b5b6d3ce7fefafac1ca3e23ff9ac41edabc2d46ae5dc9fa070ac \
    --hash=sha256:81859ed3aad620752dd2c07c32b5d3a80a0d47c5e3813904621954a78a0ae899 \
    --hash=sha256:8302d69fb1528ea7c7f2a1ea640d354c981b6eb8192d1c175349874209397604 \
    --hash=sha256:9323d268775991b79690f7b9a28a4e8b8c4f2b160ed9f8a90123127314e2d3c1 \
    --hash=sha256:b4858ccbd88f4b53950fb9fc0069c1d9fea83d7cff2382e1d8b023d3f4883014 \
    --hash=sha256:c05c6fe76228cc13c5214e9faf5f2a871a1da54473bc417ab9da310d0e5fff8b \
    --hash=sha256:c06e731aa46c0dfc563cc636155758178ebc019ef78b9b0f4370effe2ac0f0e6 \
    --hash=sha256:eb46d8b5947ca27b0bc972cecfba8130f088a83ab3d08c1a6033d9070b3046b3 \
    --hash=sha256:fff15df01bef1243468be60c55178ed7576270b200aab08a7ffd5b8e0bbc340c \
    # via scikit-learn, skorch, time_series_predictor (setup.py)
skorch==0.8.0 \
    --hash=sha256:5908fdc3c1c8ae49d16fa3edb1fbdd412c44f2baee02abdd5432b7a47933a7d0 \
    --hash=sha256:f292e9866f65df7fb7cf209f503924e2cb67377d7524a50c3e5dc6ae5a5ecd47 \
    # via time_series_predictor (setup.py)
tabulate==0.8.7 \
    --hash=sha256:ac64cb76d53b1231d364babcd72abbb16855adac7de6665122f97b593f1eb2ba \
    --hash=sha256:db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007 \
    # via skorch
threadpoolctl==2.1.0 \
    --hash=sha256:38b74ca20ff3bb42caca8b00055111d74159ee95c4370882bbff2b93d24da725 \
    --hash=sha256:ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b \
    # via scikit-learn
torch===1.5.0 \
    --hash=sha256:3cc72d36eaeda96488e3a29373f739b887338952417b3e1620871063bf5d14d2 \
    --hash=sha256:402951484443bb49b5bc2129414ac6c644c07b8378e79922cf3645fd08cbfdc9 \
    --hash=sha256:6fcfe5deaf0788bbe8639869d3c752ff5fe1bdedce11c7ed2d44379b1fbe6d6c \
    --hash=sha256:7f3d6af2d7e2576b9640aa684f0c18a773efffe8b37f9056272287345c1dcba5 \
    --hash=sha256:865d4bec21542647e0822e8b753e05d67eee874974a3937273f710edd99a7516 \
    --hash=sha256:931b79aed9aba50bf314214be6efaaf7972ea9539a3d63f82622bc5860a1fd81 \
    --hash=sha256:cb4412c6b00117ab5e014d07dac45b87f1e918e31fbb849e7e39f1f9140fff59 \
    --hash=sha256:dfaac4c5d27ac80705956743c34fb1ab5fb37e1646a6c8e45f05f7e739f6ea7c \
    --hash=sha256:ecdc2ea4011e3ec04937b6b9e803ab671c3ac04e81b1df20354e01453e508b2f \
    # via time_series_predictor (setup.py)
tqdm==4.47.0 \
    --hash=sha256:63ef7a6d3eb39f80d6b36e4867566b3d8e5f1fe3d6cb50c5e9ede2b3198ba7b7 \
    --hash=sha256:7810e627bcf9d983a99d9ff8a0c09674400fd2927eddabeadf153c14a2ec8656 \
    # via skorch

With torch===1.5.1 in setup.py:

time_series_predictor on  master [!] via 🐍 v3.7.7 (.env)
❯ pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt --verbose
Using indexes:
  https://pypi.org/simple

Using links:
  https://download.pytorch.org/whl/torch_stable.html

                          ROUND 1
Current constraints:
  psutil (from time_series_predictor (setup.py))
  scipy (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  torch===1.5.1 (from time_series_predictor (setup.py))

Finding the best candidates:
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scipy==1.5.1 (constraint was <any>)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate torch===1.5.1 (constraint was ===1.5.1)

Finding secondary dependencies:
  psutil==5.7.0             requires -
  torch===1.5.1 not in cache, need to check index
  Collecting torch===1.5.1
    File was already downloaded c:\users\dani_\appdata\local\pip-tools\cache\wheels\torch-1.5.1-cp37-cp37m-win_amd64.whl
Traceback (most recent call last):
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\dani_\Workspaces\Python\time_series_predictor\.env\Scripts\pip-compile.exe\__main__.py", line 9, in <module>
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\scripts\compile.py", line 444, in cli
    results = resolver.resolve(max_rounds=max_rounds)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\resolver.py", line 169, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\resolver.py", line 274, in _resolve_one_round
    their_constraints.extend(self._iter_dependencies(best_match))
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\resolver.py", line 380, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\repositories\pypi.py", line 229, in get_dependencies
    download_dir, ireq, wheel_cache
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\piptools\repositories\pypi.py", line 181, in resolve_reqs
    results = resolver._resolve_one(reqset, ireq)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 362, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 314, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(req)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\operations\prepare.py", line 469, in prepare_linked_requirement
    hashes=hashes,
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\operations\prepare.py", line 264, in unpack_url
    unpack_file(file.path, location, file.content_type)
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\utils\unpacking.py", line 252, in unpack_file
    flatten=not filename.endswith('.whl')
  File "c:\users\dani_\workspaces\python\time_series_predictor\.env\lib\site-packages\pip\_internal\utils\unpacking.py", line 114, in unzip_file
    zip = zipfile.ZipFile(zipfp, allowZip64=True)
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\zipfile.py", line 1258, in __init__
    self._RealGetContents()
  File "C:\Users\dani_\AppData\Local\Programs\Python\Python37\lib\zipfile.py", line 1325, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

@DanielAtKrypton
Copy link
Author

DanielAtKrypton commented Jul 9, 2020

It is interesting to note that when no tripple = is used, it resolves to CUDA 9.2 for both Linux and Windows. And in my opinion it should always resolve to latest CUDA, 10.2 as of now.

From Ubuntu 18.04.4 WSL:

❯ z /home/daniel/Workspaces/Python/time_series_predictor
❯ . .env/bin/activate
❯ pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt --verbose
/usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
Using indexes:
  https://pypi.org/simple

Using links:
  https://download.pytorch.org/whl/torch_stable.html

                          ROUND 1
Current constraints:
  psutil (from time_series_predictor (setup.py))
  scipy (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  torch (from time_series_predictor (setup.py))

Finding the best candidates:
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scipy==1.5.1 (constraint was <any>)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate torch==1.5.1+cu92 (constraint was <any>)

Finding secondary dependencies:
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  torch==1.5.1+cu92 not in cache, need to check index
  Collecting torch==1.5.1+cu92
    Downloading https://download.pytorch.org/whl/cu92/torch-1.5.1%2Bcu92-cp36-cp36m-linux_x86_64.whl (604.8 MB)
       |████████████████████████████████| 604.8 MB 21 kB/s
    Saved /home/daniel/.cache/pip-tools/wheels/torch-1.5.1+cu92-cp36-cp36m-linux_x86_64.whl
  torch==1.5.1+cu92         requires future, numpy
  psutil==5.7.0             requires -
  scipy==1.5.1              requires numpy>=1.14.5

New dependencies found in this round:
  adding ['future', '', '[]']
  adding ['numpy', '>=1.13.3,>=1.14.5', '[]']
  adding ['scikit-learn', '>=0.19.1', '[]']
  adding ['scipy', '>=1.1.0', '[]']
  adding ['tabulate', '>=0.7.7', '[]']
  adding ['tqdm', '>=4.14.0', '[]']
Removed dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  future (from torch==1.5.1+cu92->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  torch (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate torch==1.5.1+cu92 (constraint was <any>)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  numpy==1.19.0             requires -
  tqdm==4.47.0              requires -
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
  tabulate==0.8.7           requires -
  future==0.18.2            requires -
  torch==1.5.1+cu92         requires future, numpy
  scipy==1.5.1              requires numpy>=1.14.5
  psutil==5.7.0             requires -
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0

New dependencies found in this round:
  adding ['joblib', '>=0.11', '[]']
  adding ['scipy', '>=0.19.1,>=1.1.0', '[]']
  adding ['threadpoolctl', '>=2.0.0', '[]']
Removed dependencies in this round:
  removing ['scipy', '>=1.1.0', '[]']
------------------------------------------------------------
Result of round 2: not stable

                          ROUND 3
Current constraints:
  future (from torch==1.5.1+cu92->time_series_predictor (setup.py))
  joblib>=0.11 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=0.19.1,>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  threadpoolctl>=2.0.0 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  torch (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate joblib==0.16.0 (constraint was >=0.11)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=0.19.1,>=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate threadpoolctl==2.1.0 (constraint was >=2.0.0)
  found candidate torch==1.5.1+cu92 (constraint was <any>)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  future==0.18.2            requires -
  psutil==5.7.0             requires -
  tabulate==0.8.7           requires -
  numpy==1.19.0             requires -
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  tqdm==4.47.0              requires -
  torch==1.5.1+cu92         requires future, numpy
  threadpoolctl==2.1.0      requires -
  joblib==0.16.0            requires -
  scipy==1.5.1              requires numpy>=1.14.5
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
------------------------------------------------------------
Result of round 3: stable, done

Generating hashes:
  future
  tabulate
  psutil
  scikit-learn
  numpy
  skorch
  tqdm
  torch
    Missing release files on PyPI
    Couldn't get hashes from PyPI, fallback to hashing files
    Hashing torch-1.5.1%2Bcu92-cp36-cp36m-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp38-cp38-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp35-cp35m-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp35-cp35m-linux_x86_64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp38-cp38-linux_x86_64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp37-cp37m-win_amd64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp36-cp36m-linux_x86_64.whl
      |████████████████████████████████| 100%
    Hashing torch-1.5.1%2Bcu92-cp37-cp37m-linux_x86_64.whl
      |████████████████████████████████| 100%
  joblib
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)",)': /pypi/joblib/json
  scipy
  threadpoolctl

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --output-file=requirements-lock.txt
#
--find-links https://download.pytorch.org/whl/torch_stable.html

future==0.18.2 \
    --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d \
    # via torch
joblib==0.16.0 \
    --hash=sha256:8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6 \
    --hash=sha256:d348c5d4ae31496b2aa060d6d9b787864dd204f9480baaa52d18850cb43e9f49 \
    # via scikit-learn
numpy==1.19.0 \
    --hash=sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0 \
    --hash=sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98 \
    --hash=sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27 \
    --hash=sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2 \
    --hash=sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b \
    --hash=sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23 \
    --hash=sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7 \
    --hash=sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7 \
    --hash=sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb \
    --hash=sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf \
    --hash=sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598 \
    --hash=sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3 \
    --hash=sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4 \
    --hash=sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610 \
    --hash=sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632 \
    --hash=sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0 \
    --hash=sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef \
    --hash=sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd \
    --hash=sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0 \
    --hash=sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b \
    --hash=sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a \
    --hash=sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e \
    --hash=sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d \
    --hash=sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796 \
    --hash=sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a \
    --hash=sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596 \
    # via scikit-learn, scipy, skorch, torch
psutil==5.7.0 \
    --hash=sha256:1413f4158eb50e110777c4f15d7c759521703bd6beb58926f1d562da40180058 \
    --hash=sha256:298af2f14b635c3c7118fd9183843f4e73e681bb6f01e12284d4d70d48a60953 \
    --hash=sha256:60b86f327c198561f101a92be1995f9ae0399736b6eced8f24af41ec64fb88d4 \
    --hash=sha256:685ec16ca14d079455892f25bd124df26ff9137664af445563c1bd36629b5e0e \
    --hash=sha256:73f35ab66c6c7a9ce82ba44b1e9b1050be2a80cd4dcc3352cc108656b115c74f \
    --hash=sha256:75e22717d4dbc7ca529ec5063000b2b294fc9a367f9c9ede1f65846c7955fd38 \
    --hash=sha256:a02f4ac50d4a23253b68233b07e7cdb567bd025b982d5cf0ee78296990c22d9e \
    --hash=sha256:d008ddc00c6906ec80040d26dc2d3e3962109e40ad07fd8a12d0284ce5e0e4f8 \
    --hash=sha256:d84029b190c8a66a946e28b4d3934d2ca1528ec94764b180f7d6ea57b0e75e26 \
    --hash=sha256:e2d0c5b07c6fe5a87fa27b7855017edb0d52ee73b71e6ee368fae268605cc3f5 \
    --hash=sha256:f344ca230dd8e8d5eee16827596f1c22ec0876127c28e800d7ae20ed44c4b310 \
    # via time_series_predictor (setup.py)
scikit-learn==0.23.1 \
    --hash=sha256:04799686060ecbf8992f26a35be1d99e981894c8c7860c1365cda4200f954a16 \
    --hash=sha256:058d213092de4384710137af1300ed0ff030b8c40459a6c6f73c31ccd274cc39 \
    --hash=sha256:0c3464e46ef8bd4f1bfa5c009648c6449412c8f7e9b3fc0c9e3d800139c48827 \
    --hash=sha256:0e7b55f73b35537ecd0d19df29dd39aa9e076dba78f3507b8136c819d84611fd \
    --hash=sha256:16feae4361be6b299d4d08df5a30956b4bfc8eadf173fe9258f6d59630f851d4 \
    --hash=sha256:244ca85d6eba17a1e6e8a66ab2f584be6a7784b5f59297e3d7ff8c7983af627c \
    --hash=sha256:3e6e92b495eee193a8fa12a230c9b7976ea0fc1263719338e35c986ea1e42cff \
    --hash=sha256:5bcea4d6ee431c814261117281363208408aa4e665633655895feb059021aca6 \
    --hash=sha256:93f56abd316d131645559ec0ab4f45e3391c2ccdd4eadaa4912f4c1e0a6f2c96 \
    --hash=sha256:9e04c0811ea92931ee8490d638171b8cb2f21387efcfff526bbc8c2a3da60f1c \
    --hash=sha256:bded94236e16774385202cafd26190ce96db18e4dc21e99473848c61e4fdc400 \
    --hash=sha256:c2fa33d20408b513cf432505c80e6eb4bf4d71434f1ae36680765d4a2c2a16ec \
    --hash=sha256:e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8 \
    --hash=sha256:e585682e37f2faa81ad6cd4472fff646bf2fd0542147bec93697a905db8e6bd2 \
    --hash=sha256:e9879ba9e64ec3add41bf201e06034162f853652ef4849b361d73b0deb3153ad \
    --hash=sha256:ebe853e6f318f9d8b3b74dd17e553720d35646eff675a69eeaed12fbbbb07daa \
    # via skorch
scipy==1.5.1 \
    --hash=sha256:039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8 \
    --hash=sha256:058e84930407927f71963a4ad8c1dc96c4d2d075636a68578195648c81f78810 \
    --hash=sha256:06b19a650471781056c1a2172eeeeb777b8b516e9434005dd392a4559e0938b9 \
    --hash=sha256:35d042d6499caf1a5d171baed0ebf01eb665b7af2ad98a8ff1b0e6e783654540 \
    --hash=sha256:57a0f2be3063dbe1e3daf31ec9005576e8fd1022a28159d0db71d14566899d16 \
    --hash=sha256:5e0bb43ff581811ab7f27425f6b96c1ddf7591ccad2e486c9af0b910c18f7185 \
    --hash=sha256:71742889393a724dfce755b6b61228677873d269a4234e51ddaf08b998433c91 \
    --hash=sha256:7908c85854c5b5b6d3ce7fefafac1ca3e23ff9ac41edabc2d46ae5dc9fa070ac \
    --hash=sha256:81859ed3aad620752dd2c07c32b5d3a80a0d47c5e3813904621954a78a0ae899 \
    --hash=sha256:8302d69fb1528ea7c7f2a1ea640d354c981b6eb8192d1c175349874209397604 \
    --hash=sha256:9323d268775991b79690f7b9a28a4e8b8c4f2b160ed9f8a90123127314e2d3c1 \
    --hash=sha256:b4858ccbd88f4b53950fb9fc0069c1d9fea83d7cff2382e1d8b023d3f4883014 \
    --hash=sha256:c05c6fe76228cc13c5214e9faf5f2a871a1da54473bc417ab9da310d0e5fff8b \
    --hash=sha256:c06e731aa46c0dfc563cc636155758178ebc019ef78b9b0f4370effe2ac0f0e6 \
    --hash=sha256:eb46d8b5947ca27b0bc972cecfba8130f088a83ab3d08c1a6033d9070b3046b3 \
    --hash=sha256:fff15df01bef1243468be60c55178ed7576270b200aab08a7ffd5b8e0bbc340c \
    # via scikit-learn, skorch, time_series_predictor (setup.py)
skorch==0.8.0 \
    --hash=sha256:5908fdc3c1c8ae49d16fa3edb1fbdd412c44f2baee02abdd5432b7a47933a7d0 \
    --hash=sha256:f292e9866f65df7fb7cf209f503924e2cb67377d7524a50c3e5dc6ae5a5ecd47 \
    # via time_series_predictor (setup.py)
tabulate==0.8.7 \
    --hash=sha256:ac64cb76d53b1231d364babcd72abbb16855adac7de6665122f97b593f1eb2ba \
    --hash=sha256:db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007 \
    # via skorch
threadpoolctl==2.1.0 \
    --hash=sha256:38b74ca20ff3bb42caca8b00055111d74159ee95c4370882bbff2b93d24da725 \
    --hash=sha256:ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b \
    # via scikit-learn
torch==1.5.1+cu92 \
    --hash=sha256:018c813ca9eea20062266b7e2f625d8dc0c4cc21c879f2e62ee79c35dd926850 \
    --hash=sha256:20534264aa5d363635d84a331ea66acc1f2faf4ee8d97c68b5a9ed20db38bf07 \
    --hash=sha256:62e5ca82020cd6478a93c25cc9854d31e64a3503a0dfade7784a3c308d696e41 \
    --hash=sha256:735f3a0764919092a3451e5b06e9cd84d654d9e26c4c3b701ec48d0de9a4913d \
    --hash=sha256:9c6695b4b51086e14f9f620c2bcd8111a7043cee518217ee6ed6e9d306e705f2 \
    --hash=sha256:c5f43abeebf9ee5756e2320b3797810d31b3b7dbb978791f8f37be4c202c3265 \
    --hash=sha256:cb47a29dd933e8933a0d9ea1dfd8bb8c852e848dba0d349c06e26f31fdafcca5 \
    --hash=sha256:fee450640283f581b9495a0656dbf941eeda54914530ca0d619fe178a8d7199f \
    # via time_series_predictor (setup.py)
tqdm==4.47.0 \
    --hash=sha256:63ef7a6d3eb39f80d6b36e4867566b3d8e5f1fe3d6cb50c5e9ede2b3198ba7b7 \
    --hash=sha256:7810e627bcf9d983a99d9ff8a0c09674400fd2927eddabeadf153c14a2ec8656 \
    # via skorch

@DanielAtKrypton
Copy link
Author

DanielAtKrypton commented Jul 9, 2020

At least in Ubuntu WSL there is no error when tripple = is used a version 1.5.1 is specified.
With torch===1.5.1 in setup.py and Ubuntu 18.04.4 WSL:

❯ z /home/daniel/Workspaces/Python/time_series_predictor
❯ . .env/bin/activate
❯ pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --upgrade --output-file=requirements-lock.txt --verbose
/usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
Using indexes:
  https://pypi.org/simple

Using links:
  https://download.pytorch.org/whl/torch_stable.html

                          ROUND 1
Current constraints:
  psutil (from time_series_predictor (setup.py))
  scipy (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  torch===1.5.1 (from time_series_predictor (setup.py))

Finding the best candidates:
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scipy==1.5.1 (constraint was <any>)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate torch===1.5.1 (constraint was ===1.5.1)

Finding secondary dependencies:
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  psutil==5.7.0             requires -
  torch===1.5.1             requires future, numpy
  scipy==1.5.1              requires numpy>=1.14.5

New dependencies found in this round:
  adding ['future', '', '[]']
  adding ['numpy', '>=1.13.3,>=1.14.5', '[]']
  adding ['scikit-learn', '>=0.19.1', '[]']
  adding ['scipy', '>=1.1.0', '[]']
  adding ['tabulate', '>=0.7.7', '[]']
  adding ['tqdm', '>=4.14.0', '[]']
Removed dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  future (from torch===1.5.1->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  torch===1.5.1 (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate torch===1.5.1 (constraint was ===1.5.1)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  future==0.18.2            requires -
  numpy==1.19.0             requires -
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
  scipy==1.5.1              requires numpy>=1.14.5
  tabulate==0.8.7           requires -
  tqdm==4.47.0              requires -
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  psutil==5.7.0             requires -
  torch===1.5.1             requires future, numpy

New dependencies found in this round:
  adding ['joblib', '>=0.11', '[]']
  adding ['scipy', '>=0.19.1,>=1.1.0', '[]']
  adding ['threadpoolctl', '>=2.0.0', '[]']
Removed dependencies in this round:
  removing ['scipy', '>=1.1.0', '[]']
------------------------------------------------------------
Result of round 2: not stable

                          ROUND 3
Current constraints:
  future (from torch===1.5.1->time_series_predictor (setup.py))
  joblib>=0.11 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  numpy>=1.13.3,>=1.14.5 (from scipy==1.5.1->time_series_predictor (setup.py))
  psutil (from time_series_predictor (setup.py))
  scikit-learn>=0.19.1 (from skorch==0.8.0->time_series_predictor (setup.py))
  scipy>=0.19.1,>=1.1.0 (from time_series_predictor (setup.py))
  skorch (from time_series_predictor (setup.py))
  tabulate>=0.7.7 (from skorch==0.8.0->time_series_predictor (setup.py))
  threadpoolctl>=2.0.0 (from scikit-learn==0.23.1->skorch==0.8.0->time_series_predictor (setup.py))
  torch===1.5.1 (from time_series_predictor (setup.py))
  tqdm>=4.14.0 (from skorch==0.8.0->time_series_predictor (setup.py))

Finding the best candidates:
  found candidate future==0.18.2 (constraint was <any>)
  found candidate joblib==0.16.0 (constraint was >=0.11)
  found candidate numpy==1.19.0 (constraint was >=1.13.3,>=1.14.5)
  found candidate psutil==5.7.0 (constraint was <any>)
  found candidate scikit-learn==0.23.1 (constraint was >=0.19.1)
  found candidate scipy==1.5.1 (constraint was >=0.19.1,>=1.1.0)
  found candidate skorch==0.8.0 (constraint was <any>)
  found candidate tabulate==0.8.7 (constraint was >=0.7.7)
  found candidate threadpoolctl==2.1.0 (constraint was >=2.0.0)
  found candidate torch===1.5.1 (constraint was ===1.5.1)
  found candidate tqdm==4.47.0 (constraint was >=4.14.0)

Finding secondary dependencies:
  scikit-learn==0.23.1      requires joblib>=0.11, numpy>=1.13.3, scipy>=0.19.1, threadpoolctl>=2.0.0
  threadpoolctl==2.1.0      requires -
  joblib==0.16.0            requires -
  scipy==1.5.1              requires numpy>=1.14.5
  skorch==0.8.0             requires numpy>=1.13.3, scikit-learn>=0.19.1, scipy>=1.1.0, tabulate>=0.7.7, tqdm>=4.14.0
  numpy==1.19.0             requires -
  psutil==5.7.0             requires -
  tqdm==4.47.0              requires -
  torch===1.5.1             requires future, numpy
  future==0.18.2            requires -
  tabulate==0.8.7           requires -
------------------------------------------------------------
Result of round 3: stable, done

Generating hashes:
  scikit-learn
  threadpoolctl
  future
  joblib
  skorch
  numpy
  psutil
  tqdm
  torch
  scipy
  tabulate

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --find-links=https://download.pytorch.org/whl/torch_stable.html --generate-hashes --output-file=requirements-lock.txt
#
--find-links https://download.pytorch.org/whl/torch_stable.html

future==0.18.2 \
    --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d \
    # via torch
joblib==0.16.0 \
    --hash=sha256:8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6 \
    --hash=sha256:d348c5d4ae31496b2aa060d6d9b787864dd204f9480baaa52d18850cb43e9f49 \
    # via scikit-learn
numpy==1.19.0 \
    --hash=sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0 \
    --hash=sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98 \
    --hash=sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27 \
    --hash=sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2 \
    --hash=sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b \
    --hash=sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23 \
    --hash=sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7 \
    --hash=sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7 \
    --hash=sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb \
    --hash=sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf \
    --hash=sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598 \
    --hash=sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3 \
    --hash=sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4 \
    --hash=sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610 \
    --hash=sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632 \
    --hash=sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0 \
    --hash=sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef \
    --hash=sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd \
    --hash=sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0 \
    --hash=sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b \
    --hash=sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a \
    --hash=sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e \
    --hash=sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d \
    --hash=sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796 \
    --hash=sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a \
    --hash=sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596 \
    # via scikit-learn, scipy, skorch, torch
psutil==5.7.0 \
    --hash=sha256:1413f4158eb50e110777c4f15d7c759521703bd6beb58926f1d562da40180058 \
    --hash=sha256:298af2f14b635c3c7118fd9183843f4e73e681bb6f01e12284d4d70d48a60953 \
    --hash=sha256:60b86f327c198561f101a92be1995f9ae0399736b6eced8f24af41ec64fb88d4 \
    --hash=sha256:685ec16ca14d079455892f25bd124df26ff9137664af445563c1bd36629b5e0e \
    --hash=sha256:73f35ab66c6c7a9ce82ba44b1e9b1050be2a80cd4dcc3352cc108656b115c74f \
    --hash=sha256:75e22717d4dbc7ca529ec5063000b2b294fc9a367f9c9ede1f65846c7955fd38 \
    --hash=sha256:a02f4ac50d4a23253b68233b07e7cdb567bd025b982d5cf0ee78296990c22d9e \
    --hash=sha256:d008ddc00c6906ec80040d26dc2d3e3962109e40ad07fd8a12d0284ce5e0e4f8 \
    --hash=sha256:d84029b190c8a66a946e28b4d3934d2ca1528ec94764b180f7d6ea57b0e75e26 \
    --hash=sha256:e2d0c5b07c6fe5a87fa27b7855017edb0d52ee73b71e6ee368fae268605cc3f5 \
    --hash=sha256:f344ca230dd8e8d5eee16827596f1c22ec0876127c28e800d7ae20ed44c4b310 \
    # via time_series_predictor (setup.py)
scikit-learn==0.23.1 \
    --hash=sha256:04799686060ecbf8992f26a35be1d99e981894c8c7860c1365cda4200f954a16 \
    --hash=sha256:058d213092de4384710137af1300ed0ff030b8c40459a6c6f73c31ccd274cc39 \
    --hash=sha256:0c3464e46ef8bd4f1bfa5c009648c6449412c8f7e9b3fc0c9e3d800139c48827 \
    --hash=sha256:0e7b55f73b35537ecd0d19df29dd39aa9e076dba78f3507b8136c819d84611fd \
    --hash=sha256:16feae4361be6b299d4d08df5a30956b4bfc8eadf173fe9258f6d59630f851d4 \
    --hash=sha256:244ca85d6eba17a1e6e8a66ab2f584be6a7784b5f59297e3d7ff8c7983af627c \
    --hash=sha256:3e6e92b495eee193a8fa12a230c9b7976ea0fc1263719338e35c986ea1e42cff \
    --hash=sha256:5bcea4d6ee431c814261117281363208408aa4e665633655895feb059021aca6 \
    --hash=sha256:93f56abd316d131645559ec0ab4f45e3391c2ccdd4eadaa4912f4c1e0a6f2c96 \
    --hash=sha256:9e04c0811ea92931ee8490d638171b8cb2f21387efcfff526bbc8c2a3da60f1c \
    --hash=sha256:bded94236e16774385202cafd26190ce96db18e4dc21e99473848c61e4fdc400 \
    --hash=sha256:c2fa33d20408b513cf432505c80e6eb4bf4d71434f1ae36680765d4a2c2a16ec \
    --hash=sha256:e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8 \
    --hash=sha256:e585682e37f2faa81ad6cd4472fff646bf2fd0542147bec93697a905db8e6bd2 \
    --hash=sha256:e9879ba9e64ec3add41bf201e06034162f853652ef4849b361d73b0deb3153ad \
    --hash=sha256:ebe853e6f318f9d8b3b74dd17e553720d35646eff675a69eeaed12fbbbb07daa \
    # via skorch
scipy==1.5.1 \
    --hash=sha256:039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8 \
    --hash=sha256:058e84930407927f71963a4ad8c1dc96c4d2d075636a68578195648c81f78810 \
    --hash=sha256:06b19a650471781056c1a2172eeeeb777b8b516e9434005dd392a4559e0938b9 \
    --hash=sha256:35d042d6499caf1a5d171baed0ebf01eb665b7af2ad98a8ff1b0e6e783654540 \
    --hash=sha256:57a0f2be3063dbe1e3daf31ec9005576e8fd1022a28159d0db71d14566899d16 \
    --hash=sha256:5e0bb43ff581811ab7f27425f6b96c1ddf7591ccad2e486c9af0b910c18f7185 \
    --hash=sha256:71742889393a724dfce755b6b61228677873d269a4234e51ddaf08b998433c91 \
    --hash=sha256:7908c85854c5b5b6d3ce7fefafac1ca3e23ff9ac41edabc2d46ae5dc9fa070ac \
    --hash=sha256:81859ed3aad620752dd2c07c32b5d3a80a0d47c5e3813904621954a78a0ae899 \
    --hash=sha256:8302d69fb1528ea7c7f2a1ea640d354c981b6eb8192d1c175349874209397604 \
    --hash=sha256:9323d268775991b79690f7b9a28a4e8b8c4f2b160ed9f8a90123127314e2d3c1 \
    --hash=sha256:b4858ccbd88f4b53950fb9fc0069c1d9fea83d7cff2382e1d8b023d3f4883014 \
    --hash=sha256:c05c6fe76228cc13c5214e9faf5f2a871a1da54473bc417ab9da310d0e5fff8b \
    --hash=sha256:c06e731aa46c0dfc563cc636155758178ebc019ef78b9b0f4370effe2ac0f0e6 \
    --hash=sha256:eb46d8b5947ca27b0bc972cecfba8130f088a83ab3d08c1a6033d9070b3046b3 \
    --hash=sha256:fff15df01bef1243468be60c55178ed7576270b200aab08a7ffd5b8e0bbc340c \
    # via scikit-learn, skorch, time_series_predictor (setup.py)
skorch==0.8.0 \
    --hash=sha256:5908fdc3c1c8ae49d16fa3edb1fbdd412c44f2baee02abdd5432b7a47933a7d0 \
    --hash=sha256:f292e9866f65df7fb7cf209f503924e2cb67377d7524a50c3e5dc6ae5a5ecd47 \
    # via time_series_predictor (setup.py)
tabulate==0.8.7 \
    --hash=sha256:ac64cb76d53b1231d364babcd72abbb16855adac7de6665122f97b593f1eb2ba \
    --hash=sha256:db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007 \
    # via skorch
threadpoolctl==2.1.0 \
    --hash=sha256:38b74ca20ff3bb42caca8b00055111d74159ee95c4370882bbff2b93d24da725 \
    --hash=sha256:ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b \
    # via scikit-learn
torch===1.5.1 \
    --hash=sha256:0a83f41140222c7cc947aa29ed253f3e6fa490606d3d4acd02bfd9f338e3c707 \
    --hash=sha256:5d909a55cd979fec2c9a7aa35012024b9cc106acbc496faf5de798b148406450 \
    --hash=sha256:70046cf66eb40ead89df25b8dcc571c3007fc9849d4e1d254cc09b4b355374d4 \
    --hash=sha256:a358cee1d35b86757bf915e320ba776d39c20e60db50779060842efc86f02edd \
    --hash=sha256:b84fd18fd8216b74a19828433c3beeb1f0d1d29f45dead3be9ed784ae6855966 \
    --hash=sha256:bb2a3e6c9c9dbfda856bd1b1a55d88789a9488b569ffba9cd6d9aa536ef866ba \
    --hash=sha256:c42658f2982591dc4d0459645c9ab26e0ce18aa7ab0993c27c8bcb1c98931d11 \
    --hash=sha256:ff1dbeaa017bae66036e8e7a698a5475ac5a0d7b0a690f0a04ac3b1133b1feb3 \
    # via time_series_predictor (setup.py)
tqdm==4.47.0 \
    --hash=sha256:63ef7a6d3eb39f80d6b36e4867566b3d8e5f1fe3d6cb50c5e9ede2b3198ba7b7 \
    --hash=sha256:7810e627bcf9d983a99d9ff8a0c09674400fd2927eddabeadf153c14a2ec8656 \
    # via skorch 

But using tripple = is not an option since the package can't be uploaded to Pypi in that way.

@atugushev atugushev added bug Something is not working resolver Related to dependency resolver labels Jul 18, 2020
@atugushev
Copy link
Member

Fixed in #1323

@DanielAtKrypton
Copy link
Author

Awesome @atugushev . Was this issue helpful to reach the solution?

@atugushev
Copy link
Member

atugushev commented Feb 28, 2021

Thanks, @DanielAtKrypton! The issue was super-helpful and showed rare use-cases to arbitrary equality. Since pip-tools supports triple eq operator in requirements.in and resolves it correctly to requirements.txt, now the ball is on the packaging side (see pypa/packaging#336 for details) to be able to pin requirements with === in setup.py.

@atugushev atugushev added the setuptools Related to compiling requirements form setup.py label Feb 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is not working resolver Related to dependency resolver setuptools Related to compiling requirements form setup.py
Projects
None yet
Development

No branches or pull requests

3 participants