16

我正在尝试在我的计算机上安装PyCrypto 2.6库。但我不断收到以下错误

D:\Software\Python\package\pycrypto-2.6>python setup.py build
running build
running build_py
running build_ext
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.

building 'Crypto.Random.OSRNG.winrandom' extension
error: Unable to find vcvarsall.bat

我的系统有 Windows 8 Pro 64 位、Visual Studio Enterprise 2012 和 Python 3.3

为了修复错误,我尝试按照fmuecke 在帖子错误中的VS90COMNTOOLS=%VS110COMNTOOLS%建议设置环境变量:无法找到 vcvarsall.bat但它对我不起作用。

谁能告诉我如何解决这个错误。

仅供参考,我不安装 VC2008 等。

4

9 回答 9

13

我设法通过使用来自The Voidspace Python Modules 的 Python3.3的预构建二进制文件来安装 PyCrypto 2.6 。

它实际上并没有修复error: Unable to find vcvarsall.bat没有可用预构建二进制文件的其他包。

然而,它消除了构建 PyCrypto 包的需要,允许我在我的系统上安装 PyCrypto 而不会出现错误。

于 2012-12-09T13:04:37.353 回答
5

我刚用过

https://www.microsoft.com/en-gb/download/details.aspx?id=44266

使用 setuptools > 6.0 并运行

'点安装 pycrypto'

它奏效了

于 2015-10-26T16:15:04.943 回答
4

我知道这是一个老问题,但我今天也需要很多时间来获得 paramiko wokring。我想使用 Python 3.4,在 voidspace 上,没有 3.4 的预构建二进制文件。

最后,我通过安装“Microsoft Studio Express 2010 C++”得到了一个 wokring pycrypto,并从 pycrypto 2.7 文件夹运行:

python setup.py build --compiler msvc
python setup.py install
python setup.py bdist_wininst

所有带有环境变量的“技巧”对我都不起作用。

如果它对某人有帮助,所有感谢都归于: http: //flintux.wordpress.com/2014/04/30/pycrypto-for-python-3-4-on-windows-7-64bit/

于 2014-07-15T19:26:45.190 回答
3

对于 Python 3.5,您可以这样做:

从此站点安装 PyCrypto 二进制文件: https ://github.com/sfbahr/PyCrypto-Wheels

最好的方法是:

64位Python

c:\Python35\Scripts\pip.exe 安装 --use-wheel --no-index --find-links= https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1 -cp35-none-win_amd64.whl pycrypto

32位Python

c:\Python35\Scripts\pip.exe 安装 --use-wheel --no-index --find-links= https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1 -cp35-none-win32.whl pycrypto

当然用你的 python pip 路径替换c:\Python35\Scripts\pip.exe

要了解您的 python 版本,请运行 python 并查看括号中显示的体系结构:

C:\Users\utilisateur>python Python 3.5.1 |Anaconda 4.0.0(64 位)| (默认,2016 年 2 月 16 日,09:49:46)win32 上的 [MSC v.1900 64 位( AMD64 )] 键入“帮助”、“版权”、“信用”或“许可证”以获取更多信息。

希望这能有所帮助。

于 2016-04-21T19:11:38.317 回答
1

您可以安装 mingw64,然后从 PyCrypto 解压缩文件目录运行:

python setup.py build --compiler=mingw32

于 2013-05-15T14:11:37.777 回答
1

有一个简单的方法,因此分享

  1. 从https://www.dropbox.com/s/fhsvbl6d6ecs303/pycrypto-2.6.1.win-amd64-py3.4.exe?dl=0下载 exe
  2. easy_install C:\your\pathToDownloadedFile\Downloads\pycrypto-2.6.1.win-amd64-py3.4.exe
于 2018-11-05T09:06:39.820 回答
1

2021 年的更新答案(许多其他答案已过时)

Python 2.7 是 EOL(生命周期结束),微软已经删除了 Visual C++ 8.0 编译器的下载链接,这是编译原生 Python 2.7 模块所必需的(后来他们称之为“Python 2.7 的 C++ 编译器”之类的东西) , VCForPython27.msi)。因此pip install pycrypto不再起作用。

To see for yourserlf, check out this answer with a now defunct download link. Don't search for VCForPython27 on GitHub - you will find projects, but they are not official Microsoft projects, so you may want to stay away from those.

If you find yourself in this situation, then seriously, it's high time to migrate to Python 3. Don't download old builds of PyCrypto or Visual C++ 8.0 from random websites or from web archive links, especially not since this is a library for cryptography that should be kept up to date.

于 2021-11-03T15:10:17.027 回答
0

我正在使用 Windows 10 - 我需要做的就是使用我在此页面上找到的 Visual C++ Build Tools 2015 更新我的系统:https ://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-找到-vcvarsall-bat/

在页面中间,你会看到一些下载选项 - 选择你的 python 版本并下载正确的包

然后我重新导入了我试图安装的程序,没有更多错误!呜呼!

于 2016-09-13T19:11:52.857 回答
0

如果你是 VS 2010

设置 VS90COMNTOOLS=%VS100COMNTOOLS%

对比 2012

设置 VS90COMNTOOLS=%VS110COMNTOOLS%

对比 2013

设置 VS90COMNTOOLS=%VS120COMNTOOLS%

然后 python setup.py install

于 2017-07-20T00:04:29.977 回答