为了安装cython(对于python 2.7,windows 8.1),以.zip格式下载,解压缩整个文件并运行setup.py。因此,python shell显示了这个: 无法找到pgen,没有编译正式语法。
问题是什么以及如何解决?
答案 0 :(得分:3)
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 可用,也不会使用它生成的代码。
答案 1 :(得分:3)
更简单,
尝试从pip安装Cython。 Windows-打开Python文件夹,按shift +右键单击,选择“打开命令promt here”
pip install cython
答案 2 :(得分:1)
我在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
答案 3 :(得分:0)
尝试以下命令,
sudo apt-get install build-essential python-dev python-pip libev4 libev-dev
sudo apt-get install cython3
答案 4 :(得分:0)
如果在Cython
上安装Raspberry Pi
,则会收到错误
无法找到pgen
我发现手动安装pgen
然后运行Cython
安装工作了!
sudo pip3 install pgen