screeninfo icon indicating copy to clipboard operation
screeninfo copied to clipboard

Install Fails Without Cython

Open czechtech opened this issue 5 years ago • 3 comments

pip install screeninfo fails:

Collecting screeninfo
  Downloading https://files.pythonhosted.org/packages/d1/1d/d9861700fa0692d39f4aaf7233ee3dd9cbebd514546fec9344a824f63af4/screeninfo-0.6.5.tar.gz
Collecting dataclasses (from screeninfo)
  Downloading https://files.pythonhosted.org/packages/26/2f/1095cdc2868052dd1e64520f7c0d5c8c550ad297e944e641dbf1ffbb9a5d/dataclasses-0.6-py3-none-any.whl
Collecting Cython (from screeninfo)
  Downloading https://files.pythonhosted.org/packages/a4/87/d7431a94c7c438af66a91d63089be82cf0a5cb924fe2f74197c539f03568/Cython-0.29.20-cp37-cp37m-macosx_10_9_x86_64.whl (1.9MB)
     |████████████████████████████████| 1.9MB 2.7MB/s 
Collecting pyobjus (from screeninfo)
  Downloading https://files.pythonhosted.org/packages/cb/9e/6425d66cf66892ee99ebdc86204c825d6817458328b6cdc3a6c51ad152d1/pyobjus-1.1.0.tar.gz (72kB)
     |████████████████████████████████| 81kB 12.7MB/s 
    ERROR: Complete output from command python setup.py egg_info:
    ERROR: Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/1t/vl1r8xk10knf16xjsg61zn580000gn/T/pip-install-bi_2vyd6/pyobjus/setup.py", line 18, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    ----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/1t/vl1r8xk10knf16xjsg61zn580000gn/T/pip-install-bi_2vyd6/pyobjus/

If I pip install cython, then try again it works.

czechtech avatar Jun 21 '20 19:06 czechtech

Cython is listed in Mac dependencies:

        'Cython ; sys_platform=="darwin"',
        'pyobjus ; sys_platform=="darwin"',

So I'm not sure how you got that error.

rr- avatar Oct 23 '20 07:10 rr-

Edit: OK I understand – it needs Cython, even at the time of installing, which makes it impossible to require it. Python does not have multi-stage dependency resolution. This is really not on us and instead should be taken to pyobjus people. What we can do instead is to somehow support Mac without relying on pyobjus.

rr- avatar Oct 23 '20 08:10 rr-

@Henni @bsiegel @Evidlo can any one of you confirm if, after merging #42, Cython is still a valid requirement, or if it can be removed? I removed it on the osx_test branch and the tests seem to pass, but you never know… https://github.com/rr-/screeninfo/runs/1629693284?check_suite_focus=true

rr- avatar Dec 31 '20 09:12 rr-