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

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

为了安装 cython(python 2.7,windows 8.1),以 .zip 格式下载,提取整个文件和 运行 setup.py 。因此,python shell 显示: 找不到pgen,没有编译正式语法。

问题是什么以及如何解决?

setup.py中的相关代码先尝试寻找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.")

如果找到 pgen,则将文件 Cython/Parser/Grammar 作为参数提供给 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'),
            ])

第一行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.

该评论似乎暗示即使 pgen 可用,也不会使用它生成的代码。

我在 ubuntu 遇到了同样的问题。我第一次尝试

sudo easy_install cython

失败

然后我按照以下方式手动完成:

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

简单多了,

尝试从 pip 安装 Cython。 Windows- 打开 Python 文件夹,按 shift+右键单击,select "open command promt here"

pip install cython

尝试以下命令,

sudo apt-get install build-essential python-dev python-pip libev4 libev-dev
sudo apt-get install cython3

如果在 Raspberry Pi 上安装 Cython 并且出现错误

unable to find pgen

我发现手动安装 pgen 然后 运行 Cython 安装成功了!

sudo pip3 install pgen