pip安装M2Crypto失败

时间:2015-03-04 06:29:24

标签: python m2crypto

在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 尝试按照herehere中的步骤操作。但最新版本的pip清除了未完成的版本。此外,我尝试从pypi下载M2Crypto提取它,但无法找到任何fedora_setup.sh文件。

另外,深入了解M2Crypto中的 setup.py ,我发现以下几行。所以看起来他们已经照顾了F​​edora操作系统,所以很明显没有单独的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')]

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

这是一个swig版本问题。最新版本的swig给出了语法错误。我切换到旧版(SWIG Version 3.0.2)来解决此问题。