Cython setup error : Unable to find pgen, not compiling formal grammar

Question:

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 ?

Asked By: p_a321

||

Answers:

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.

Answered By: J.J. Hakala

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
Answered By: Yonatan Simson

Much Simpler,

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

pip install cython

Answered By: Manish

Try folollowing command,

sudo apt-get install build-essential python-dev python-pip libev4 libev-dev
sudo apt-get install cython3
Answered By: Hemant Thorat

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
Answered By: mbprocop23

For me, the following install option solved the problem:

pip install Cython==0.29.1 --install-option="--no-cython-compile"
Answered By: Dave
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.