如何在Windows上安装PyCrypto?

Col*_*ice 137 python windows pycrypto python-2.7

我已经阅读了所有其他谷歌来源和SO线程,没有任何工作.

Python 2.7.3 32bit安装上Windows 7 64bit.下载,解压缩,然后尝试安装PyCrypto结果"Unable to find vcvarsall.bat".

所以我安装MinGW并在安装行上将其作为首选编译器.但后来我得到了错误"RuntimeError: chmod error".

我怎么在世界上绕过这个?我尝试过使用pip,它给出了相同的结果.我找到了一个预先构建的PyCrypto 2.3二进制文件并安装了它,但它在系统上找不到(不工作).

有任何想法吗?

Mic*_*lon 180

如果您还没有安装与Python.org分发的Visual Studio二进制文件兼容的C/C++开发环境,那么您应该坚持只安装可用于Windows二进制文件的纯Python软件包或软件包.

幸运的是,有适用于Windows的PyCrypto二进制文件:http://www.voidspace.org.uk/python/modules.shtml#pycrypto

更新:
正如@Udi在下面的评论中建议的那样,以下命令也会安装pycrypto并且也可以使用virtualenv:

easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py2.7.exe
Run Code Online (Sandbox Code Playgroud)

请注意从此列表中为您的设置选择相关链接

如果您正在寻找Python 3.5的构建版本,请参阅python 3.5上的PyCrypto

  • 您可以使用easy_install从url安装二进制文件:`easy_install http:// www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe` (28认同)

Jas*_*mbs 32

微软最近最近发布了一个独立的,专用于Python 2.7的Microsoft Visual C++编译器.如果您使用的是Python 2.7,只需安装该编译器和Setuptools 6.0或更高版本,大多数带有C扩展的软件包现在都可以轻松编译.


Smi*_*nth 26

经过多年和多年,python终于同意了一个二进制分配wheel,它允许在Windows上安装甚至二进制扩展,而不需要简单的编译器pip install packagename.有一个受欢迎的包列表及其状态.Pycrypto还没有,但是例如lxml,PySide和Scrapy.

2015年11月编辑:pip uninstall pycrypto&pip install pycryptodome.它是一个pycrypto具有新功能的叉子,它支持轮子.它取代了pycrypto,所以现有代码将继续有效(参见https://pycryptodome.readthedocs.org/en/latest/src/examples.html)


小智 19

对于VS2010:

SET VS90COMNTOOLS=%VS100COMNTOOLS%
Run Code Online (Sandbox Code Playgroud)

对于VS2012:

SET VS90COMNTOOLS=%VS110COMNTOOLS%
Run Code Online (Sandbox Code Playgroud)

然后致电:

pip install pyCrypto 
Run Code Online (Sandbox Code Playgroud)

  • 尽管这在某些情况下可能有效,但**这不是解决方案。**您需要确保所有依赖项都使用与Python相同的编译器进行编译! (2认同)

小智 18

一般来说

vcvarsall.bat是Visual C++编译器的一部分,您需要它来安装您尝试安装的内容.如果您的Python是使用Visual Studio工具链编译的,那么甚至不要尝试处理MingGW,反之亦然.即使是微软工具链的版本也很重要.使用VS 2008编译的Python不适用于使用VS 2010编译的扩展!

您必须使用与编译Python版本相同的编译器来编译PyCrypto.谷歌"无法找到vcvarsall.bat",因为这是你问题的根源,在Windows上编译Python扩展是一个非常普遍的问题.

有很多信息和很多东西要在这个链接的任何系统上正确阅读.

请注意使用Visual Studio 2010或不使用Visual Studio 2008

据我所知,以下情况仍属实.这是在2010年6月的上述链接中发布的,指的是尝试使用VS 2010 Express针对python.org上提供的Python安装程序构建扩展.

如果你这样做要小心.python.org的Python 2.6和2.7是使用Visual Studio 2008编译器构建的.您需要使用与Python相同的CRT(msvcr90.dll)链接.

Visual Studio 2010 Express链接错误的CRT版本:msvcr100.dll.

如果这样做,您还必须使用Visual Studio 2010 Express重新构建Python.您无法使用Windows的标准Python二进制安装程序.您也不能使用与Visual Studio 2010(Express)不同的编译器构建的任何C/C++扩展.

意见:这是我为OSX的所有重要开发工作放弃Windows的一个原因!

  • 感谢您的见解.但天哪,它真的必须是这种乏味(沮丧指向蟒蛇神,而不是你自己)?我只是尝试通过setup.py和pip安装另一个软件包(mcrypt),两个软件都退出并出现错误.Windows用户如何安装软件包?他们都必须下载VS 2008 Express吗?(我有VS 2010,我猜这不起作用). (2认同)

Squ*_*ree 14

PyCryptodome是几乎兼容的PyCrypto分支,在pypi上有Windows轮子.

你可以用一个简单的方法安装它:

pip install pycryptodome
Run Code Online (Sandbox Code Playgroud)

该网站还包含使用Microsoft编译器从源代码构建它的说明.


小智 6

我已经设法pycrypto通过使用MinGW32和编译MSYS.这假设您已安装pipeasy_install已安装.

我是这样做的:

1)安装MinGW32.为了便于解释,我们假设已经安装了C:\MinGW.使用我推荐的安装程序时,请选择. MSYS应安装的C++编译器MinGW

2)加入c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys\1.0, c:\mingw\msys\1.0\bin and c:\mingw\msys\1.0\sbin你的%PATH%.如果您不熟悉,本文非常有帮助.

3)从搜索栏运行msys,MSYS终端将打开.对于那些熟悉的人来说Cygwin,它的工作方式类似.

4)pip install pycrypto在此之后,从MSYS终端内运行应该没有错误.


小智 5

对于Windows 7:

要在Windows中安装Pycrypto,

在命令提示符中尝试此操作,

设置path = C:\ Python27\Scripts(即easy_install所在的路径)

然后执行以下操作,

easy_install pycrypto

对于Ubuntu:

试试这个,

从" https://pypi.python.org/pypi/pycrypto " 下载Pycrypto

然后使用终端将当前路径更改为下载路径,用户应为root:

例如:root @ xyz-virtual-machine:〜/ pycrypto-2.6.1#

然后使用终端执行以下操作:

python setup.py安装

它对我有用.希望适合所有人..


use*_*064 5

对于那些寻找python 3.4的人,我发现了一个带有安装程序的git repo.以下是x64x32的直接链接


Kad*_*ade 5

尝试使用:

pip install pycryptodome
Run Code Online (Sandbox Code Playgroud)

或者:

pip install pycryptodomex
Run Code Online (Sandbox Code Playgroud)

来源:https : //pypi.python.org/pypi/pycryptodome


Joh*_*ohn 5

如果您在 Windows 上安装 Pycrypcto 遇到困难,只需使用:pip install pycryptodome。它就像一个奇迹,它会让你的生活比尝试进行大量配置和调整要容易得多。