在Fedora 21上安装M2Crypto时出现以下错误:
Installed /home/subho/.virtualenvs/shumgrepper/lib/python2.7/site-packages/shumgrepper-0.0.1-py2.7.egg
Processing dependencies for shumgrepper==0.0.1
Searching for M2Crypto
Reading https://pypi.python.org/simple/M2Crypto/
Best match: M2Crypto 0.22.3
Downloading https://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.22.3.tar.gz#md5=573f21aaac7d5c9549798e72ffcefedd
Processing M2Crypto-0.22.3.tar.gz
Writing /tmp/easy_install-q3YUXp/M2Crypto-0.22.3/setup.cfg
Running M2Crypto-0.22.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-q3YUXp/M2Crypto-0.22.3/egg-dist-tmp-nxDfs1
SWIG/_ssl.i:676: Error: Syntax error in input(1).
error: Setup script exited with error: command 'swig' failed with exit status 1
尝试按照here,here中的步骤操作。但最新版本的pip清除了未完成的版本。此外,我尝试从pypi下载M2Crypto提取它,但无法找到任何fedora_setup.sh
文件。
另外,深入了解M2Crypto中的 setup.py ,我发现以下几行。所以看起来他们已经照顾了Fedora操作系统,所以很明显没有单独的fedora_setup.sh文件。
# Fedora does hat tricks.
if platform.linux_distribution()[0] in ['Fedora', 'CentOS']:
if platform.architecture()[0] == '64bit':
self.swig_opts.append('-D__x86_64__')
elif platform.architecture()[0] == '32bit':
self.swig_opts.append('-D__i386__')
self.include_dirs += [os.path.join(self.openssl, opensslIncludeDir),
os.path.join(os.getcwd(), 'SWIG')]
任何帮助都会很棒。
答案 0 :(得分:1)
这是一个swig版本问题。最新版本的swig给出了语法错误。我切换到旧版(SWIG Version 3.0.2)
来解决此问题。