pycrypto安装:配置错误:无法运行C编译的程序

时间:2014-06-10 23:37:40

标签: python paramiko mingw32 pycrypto

请对我温柔。我搜索过该网站,我知道这个确切的问题还有另一个答案,但是那里发布的答案对我来说并不适用。

我正在尝试安装pycrypto,以便我可以paramiko开始工作。由于缺少Paramiko模块,pycrypto失败了。我尝试使用成功的pip install pycrypto,但无法解决问题。

我尝试安装pycrypto的二进制版本并没有解决问题。

现在我正在尝试构建pycrypto。我在我的计算机上安装了cygwin64mingw。获得最远的方法是

python setup.py build --compiler=mingw32

这会出错,

checking whether we are cross compiling... configure: error: in `/cygdrive/c/Python27/pycrypto-2.6.1':
configure: error: cannot run C compiled programs.

另一个答案建议删除路径中的空格。我试过简单地将路径简化为

c:\mingw;c:\python2.7;c:\cygwin64\bin

没有改变结果?

有人能找到他们可以指出的修复方法吗?谢谢。总体目标是让paramiko发挥作用。 paramiko错误是

ImportError: No module named Crypto.PublicKey

4 个答案:

答案 0 :(得分:2)

我在安装pycrypto时遇到了同样的错误信息(尽管与paramiko无关)。我的解决方案是:

yum install autoconf
TMPDIR=/home/$USER/tmp
TMP=$TMPDIR
TEMP=$TMPDIR
export TMPDIR TMP TEMP

然后重新安装:

pip install pocrypto

答案 1 :(得分:1)

我遇到了类似的问题:

pip install --upgrade subprocess32

失败
configure: error: cannot run C compiled programs
我们的管理员收紧设置并使用aws选项挂载tmpfs后,在noexec

解决方案是

TMPDIR=/var/tmp pip install --upgrade subprocess32

答案 2 :(得分:1)

在我的情况下,/tmp安装点是通过noexec标志安装的。

对于装有cygwin的Windows,我也会检查安装点以及相关性,例如python2和python3所需的vcredist软件包,另请参阅Errors while building/installing C module for Python 2.7

两种Linux解决方案:

  • 使用exec标志临时重新安装(很可能需要root / sudo权限)

例如:

sudo mount -o remount,rw,exec /tmp
  • 将构建路径更改为本地挂载点

例如:

mkdir -p ~/python/tmp
pip install --build ~/python/tmp pycrypto

注意:值得看看其他答案:

  • 验证autoconfpython2-devpython3-dev软件包已安装。

答案 3 :(得分:0)

我在Chrubuntu 14.04中遇到了同样的问题,首先解决了这个问题:

apt-get install python-dev

...修复与头文件有关的事情,然后:

pip install pycrypto

...用paramiko解决实际问题。但是,然后paramiko有一些ecdsa的问题,'pip install paramiko'说一切都已安装,没问题,所以我做了'pip uninstall paramiko'后跟'pip install paramiko',现在我可以在python中导入paramiko了没问题。

可能有一种更优雅的方式来解决最后一点,但这对我来说效果很好。