<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<br><br>I'm not sure if this is the best place for something like this, but I figured I'd share a workaround and a suggestion for others to take or leave. I'm currently running a 64-bit Windows 7 machine for testing some of our codebase on Windows, and ran into a snag while installing PyCrypto (so I could use Fabric, which depends on Paramiko, which depends on PyCrypto). <br><br>As you are probably aware of, PyCrypto tries to download/compile winrandom, which can be a problem for many that lack a compiler. As an alternative for those who can't/won't install winrandom, I put together a ctypes equivalent that doesn't require compilation like the original winrandom. This new module aims to be functionally equivalent in every way to winrandom, but accesses the Windows-specific cryptography library through ctypes rather than a compiled Python C extension module.<br><br>The PyPi page can be found at: <a href="http://pypi.python.org/pypi/winrandom-ctypes/">http://pypi.python.org/pypi/winrandom-ctypes/</a><br>The Github page can be found at: <a href="http://github.com/duointeractive/winrandom-ctypes">http://github.com/duointeractive/winrandom-ctypes</a><br><br>I understand that going the ctypes route might raise the minimum Python version required (2.4 or 2.5?), so this probably isn't a one-size-fits-all solution. However, if there was anything that could be done to make it easier for a user to elect to use the ctypes version, that'd be great. Perhaps PyCrypto could check at install time whether winrandom is already installed, and skip trying to compile/re-install it (winrandom-ctypes provides winrandom) to allow a user to plug something else in (winrandom-ctypes?).<br><br>Just thought I'd throw this out here for those who might find it useful in the painful situation that they have to develop on Windows.<br><br>Greg Taylor<br><a href="http://duointeractive.com/">http://duointeractive.com</a><br>DUO Interactive, LLC</body></html>