Repository: kivy/kivy

Issue #5375: Cannot pip install both Cython and Kivy in one pass
Created: 2017-09-08T23:52:05Z
Description
The title says it all. Running the command pip install Cython=0.25.2 kivy=1.10.0 doesn't work. I think I've traced this back to Kivy's setup.py metadata. Normally, pip can intelligently figure out the installation order from dependencies, but something about Kivy's setup.py is preventing that. Thus, it tries to install Kivy before Cython, which naturally fails.
This may not seem like a big deal, but what this does is it prevents packaging with things like Snapcraft, which pip install everything in one auto-generated command. That, obviously, is going to be a huge problem for Kivy packaging in the long run.
Versions

Python: 3.5
OS: Ubuntu 17.04
Kivy: 1.10.0
Kivy installation method: pip, see below

Code and Logs
Here's the output from the command.
$ pip install Cython==0.25.2 kivy==1.10.0
Collecting Cython==0.25.2
  Downloading Cython-0.25.2-cp35-cp35m-manylinux1_x86_64.whl (7.0MB)
    100% |████████████████████████████████| 7.0MB 220kB/s 
  Saved /root/build_omission/parts/omission/packages/Cython-0.25.2-cp35-cp35m-manylinux1_x86_64.whl
Collecting kivy==1.10.0
  Downloading Kivy-1.10.0.tar.gz (24.3MB)
    100% |████████████████████████████████| 24.3MB 74kB/s 
  Saved /root/build_omission/parts/omission/packages/Kivy-1.10.0.tar.gz
    Complete output from command python setup.py egg_info:
    Using distutils
    
    Cython is missing, it's required for compiling kivy !
    
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-_hd184pu/kivy/setup.py", line 219, in <module>
        from Cython.Distutils import build_ext
    ImportError: No module named 'Cython'

Duplicate issue #5411: Kivy Does not wait for Cython to be installed during PIP installation
Created: 2017-09-29T06:48:42Z
Versions

Python: 2.7
OS: MAC OSX
Kivy: 1.9.1
Kivy installation method: PIP

Description
I have a python project ,which uses KIVY for its GUI, The project requirements is as below
click>=6.7
Cython==0.25.2
docutils==0.13.1
Kivy==1.9.1
Kivy-Garden==0.1.4
# modbus-tk==0.5.6
pygame==1.9.2
pyglet==1.2.4
Pygments==2.1.3
# pymodbus==1.3.2
pyserial==3.2.1
requests==2.12.4

When installing the Package with PIP, Kivy bails out before the Cython is installed at all. This makes it hard to distribute the package as it requires people to be explicitly told to install cython as a pre-requisite. I would rather prefer the installation to fail while compiling kivy  because of the missing dependencies than failing pre-maturely .
Code and Logs
Processing ./modbus-simulator/dist/modbus_simulator-1.0.tar.gz
Requirement already satisfied: click>=6.7 in /Users/sanjay/.virtualenvs/test/lib/python2.7/site-packages (from modbus-simulator==1.0)
Collecting Cython==0.25.2 (from modbus-simulator==1.0)
  Downloading Cython-0.25.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.1MB)
    100% |████████████████████████████████| 4.1MB 1.6MB/s
Collecting docutils==0.13.1 (from modbus-simulator==1.0)
  Downloading docutils-0.13.1-py2-none-any.whl (537kB)
    100% |████████████████████████████████| 542kB 1.7MB/s
Collecting Kivy==1.9.1 (from modbus-simulator==1.0)
  Downloading kivy-1.9.1.tar.gz (16.4MB)
    100% |████████████████████████████████| 16.4MB 3.3MB/s
    Complete output from command python setup.py egg_info:
    Using distutils

    Cython is missing, its required for compiling kivy !


    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/fj/bb6fj6zd1wb9sxnb1bj4fcbc0000gn/T/pip-build-pDSJaL/Kivy/setup.py", line 184, in <module>
        from Cython.Distutils import build_ext
    ImportError: No module named Cython.Distutils

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/fj/bb6fj6zd1wb9sxnb1bj4fcbc0000gn/T/pip-build-pDSJaL/Kivy/

Closing comment (2017-09-29T16:30:14Z): duplicate #5375