请对我温柔点。我已经搜索过该网站,我知道这个确切问题还有另一个答案,但是发布在那里的答案对我不起作用。

我正在尝试安装 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

最佳答案

在我的例子中,/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 包是否已安装。
  • 关于python - pycrypto 安装 : configure error: cannot run C compiled programs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24152521/

    10-12 18:54