FS#78509 - [python-pytorch] Missing mandatory Python dependencies

Attached to Project: Community Packages
Opened by Alain Kalker (ackalker) - Saturday, 13 May 2023, 16:00 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Tuesday, 23 May 2023, 10:47 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Konstantin Gizdov (kgizdov)
Torsten Keßler (tpkessler)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The PyTorch packages are missing mandatory Python dependencies: filelock, jinja2 and networkx

Additional info:
* package version(s)
python-pytorch 2.0.1-1
* config and/or log files etc.
* link to upstream bug report, if any

Steps to reproduce:

- Install any of the 'python-pytorch' packages.
- Make sure that `pip` is available.
- Run `pip check`.

Actual results

$ pip check
torch 2.0.1 requires filelock, which is not installed.
torch 2.0.1 requires jinja2, which is not installed.
torch 2.0.1 requires networkx, which is not installed.
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Tuesday, 23 May 2023, 10:47 GMT
Reason for closing:  Fixed
Additional comments about closing:  I added the deps.
Comment by Toolybird (Toolybird) - Sunday, 14 May 2023, 00:07 GMT
Not sure if `pip check' can be relied upon in the context of system pkgs e.g. please see  FS#66503 
Comment by Sven-Hendrik Haase (Svenstaro) - Monday, 15 May 2023, 07:53 GMT
I don't think this is correct. Did you run into an actual issue here?
Comment by Alain Kalker (ackalker) - Tuesday, 16 May 2023, 18:08 GMT
Yes, with torch.compile and jinja2. This made me check for other missing dependencies. Sadly no easy way to reproduce my issue because in the meantime the Arch Linux Python 3.11 update happened, and torch.compile isn't supported with Python 3.11 yet.

However, I found an issue on GitHub with the same problem: https://github.com/pytorch/pytorch/issues/95671

Anyway, it is easy to see that all the requirements I listed are in the project source setup.py:

def main():
# the list of runtime dependencies required by this built package
install_requires = [
'filelock',
'typing-extensions',
'sympy',
'networkx',
'jinja2',
]
[...]

None of them are part of any extra or other optional dependencies, nor is there any ambiguity in package names as in  FS#66503 . To me it seems clear that upstream has decided to make these packages mandatory requirements for v2.0.x.

Loading...