rr- / screeninfo

Fetch location and size of physical screens.
Other
208 stars 36 forks source link

Install Fails Without Cython #39

Open czechtech opened 4 years ago

czechtech commented 4 years ago

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.

rr- commented 4 years ago

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- commented 4 years ago

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- commented 3 years ago

@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