6

In order to install cython ( for python 2.7 , windows 8.1 ), made the download in .zip format, extracted the whole file and run the setup.py . Thus, python shell shows this : Unable to find pgen, not compiling formal grammar.

What is the problem and how it can be solved ?

p_a321
  • 119
  • 1
  • 2
  • 7
  • Please see if [this](http://stackoverflow.com/questions/29433941/error-during-the-installation-of-cython/32317660#32317660) helps which looks similar to you. – Rao Jan 30 '16 at 00:59
  • It should be possible to install and use Cython regardless of that message. – J.J. Hakala Jan 30 '16 at 11:58

6 Answers6

4

The relevant code in setup.py first tries to find pgen

 pgen = find_executable(
        'pgen', os.pathsep.join([os.environ['PATH'], os.path.join(get_python_inc(), '..', 'Parser')]))
    if not pgen:
        print ("Unable to find pgen, not compiling formal grammar.")

If pgen is found, then file Cython/Parser/Grammar is given as argument to pgen

    else:
        parser_dir = os.path.join(os.path.dirname(__file__), 'Cython', 'Parser')
        grammar = os.path.join(parser_dir, 'Grammar')
        subprocess.check_call([
            pgen,
            os.path.join(grammar),
            os.path.join(parser_dir, 'graminit.h'),
            os.path.join(parser_dir, 'graminit.c'),
            ])

The first lines of Cython/Parser/Grammar,

# Grammar for Cython, based on the Grammar for Python 3

# Note: This grammar is not yet used by the Cython parser and is subject to change.

That comment seems to suggests that even if pgen is available, the code produced by it won't be used.

J.J. Hakala
  • 6,136
  • 6
  • 27
  • 61
4

Much Simpler,

Try installing Cython from pip. Windows- Open Python folder, press shift+right click, select "open command promt here"

pip install cython

Manish
  • 67
  • 6
1

I had the same problem in ubuntu. I first tried

sudo easy_install cython

It failed

Then I did it manually in the following manner:

mkdir cython
cd cython
wget http://cython.org/release/Cython-0.24.zip
unzip Cython-0.24.zip
cd Cython-0.24
sudo python setup.py install
Yonatan Simson
  • 2,395
  • 1
  • 24
  • 35
1

If installing Cython on Raspberry Pi and you get the error

unable to find pgen

I found that installing pgen manually then running the Cython install worked!

sudo pip3 install pgen
alexander.polomodov
  • 5,396
  • 14
  • 39
  • 46
mbprocop23
  • 11
  • 2
0

Try folollowing command,

sudo apt-get install build-essential python-dev python-pip libev4 libev-dev
sudo apt-get install cython3
Hemant Thorat
  • 2,386
  • 20
  • 14
0

For me, the following install option solved the problem:

pip install Cython==0.29.1 --install-option="--no-cython-compile"
Dave
  • 11
  • 1