Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it easier on windows to install gcloud-python #1009

Closed
rcleveng opened this issue Jul 22, 2015 · 7 comments
Closed

Make it easier on windows to install gcloud-python #1009

rcleveng opened this issue Jul 22, 2015 · 7 comments
Assignees

Comments

@rcleveng
Copy link

Windows 10, MSVC 2015 installed. Python 3.4 (from python.org)

Right now when I tried to install gcloud-python using pip, it failed installing pycrypto. I found a binary installer for it and used that, but that's not optimal.

Here's the log from the install attempt:

C:\Python34\Scripts>pip install gcloud
You are using pip version 6.0.8, however version 7.1.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting gcloud
  Downloading gcloud-0.7.0.tar.gz (144kB)
    100% |################################| 147kB 1.3MB/s
Collecting google-apitools (from gcloud)
  Downloading google-apitools-0.4.8.tar.gz (96kB)
    100% |################################| 98kB 327kB/s
Collecting httplib2>=0.9.1 (from gcloud)
  Downloading httplib2-0.9.1.tar.gz (205kB)
    100% |################################| 208kB 1.3MB/s
Collecting oauth2client>=1.4.6 (from gcloud)
  Downloading oauth2client-1.4.12.tar.gz (49kB)
    100% |################################| 53kB 2.6MB/s
Collecting protobuf==3.0.0-alpha-1 (from gcloud)
  Downloading protobuf-3.0.0-alpha-1.tar.gz (193kB)
    100% |################################| 196kB 2.6MB/s
    C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'google_test_dir'
      warnings.warn(msg)
    C:\Python34\lib\site-packages\setuptools\dist.py:283: UserWarning: The version specified requires normalization, con
sider using '3.0.0a1' instead of '3.0.0-alpha-1'.
      self.metadata.version,
Collecting pycrypto (from gcloud)
  Downloading pycrypto-2.6.1.tar.gz (446kB)
    100% |################################| 446kB 524kB/s
Collecting pytz (from gcloud)
  Downloading pytz-2015.4-py2.py3-none-any.whl (475kB)
    100% |################################| 475kB 658kB/s
Collecting six (from gcloud)
  Downloading six-1.9.0-py2.py3-none-any.whl
Collecting protorpc>=0.9.1 (from google-apitools->gcloud)
  Downloading protorpc-0.10.0.tar.gz (116kB)
    100% |################################| 118kB 1.3MB/s
Collecting pyasn1>=0.1.7 (from oauth2client>=1.4.6->gcloud)
  Downloading pyasn1-0.1.8.tar.gz (75kB)
    100% |################################| 77kB 2.8MB/s
Collecting pyasn1-modules>=0.0.5 (from oauth2client>=1.4.6->gcloud)
  Downloading pyasn1-modules-0.0.6.tar.gz
Collecting rsa>=3.1.4 (from oauth2client>=1.4.6->gcloud)
  Downloading rsa-3.1.4.tar.gz
Requirement already satisfied (use --upgrade to upgrade): setuptools in c:\python34\lib\site-packages (from protobuf==3.
0.0-alpha-1->gcloud)
Installing collected packages: rsa, pyasn1-modules, pyasn1, protorpc, six, pytz, pycrypto, protobuf, oauth2client, httpl
ib2, google-apitools, gcloud
  Running setup.py install for rsa
    Installing pyrsa-decrypt-script.py script to C:\Python34\Scripts
    Installing pyrsa-decrypt.exe script to C:\Python34\Scripts
    Installing pyrsa-decrypt.exe.manifest script to C:\Python34\Scripts
    Installing pyrsa-sign-script.py script to C:\Python34\Scripts
    Installing pyrsa-sign.exe script to C:\Python34\Scripts
    Installing pyrsa-sign.exe.manifest script to C:\Python34\Scripts
    Installing pyrsa-encrypt-script.py script to C:\Python34\Scripts
    Installing pyrsa-encrypt.exe script to C:\Python34\Scripts
    Installing pyrsa-encrypt.exe.manifest script to C:\Python34\Scripts
    Installing pyrsa-decrypt-bigfile-script.py script to C:\Python34\Scripts
    Installing pyrsa-decrypt-bigfile.exe script to C:\Python34\Scripts
    Installing pyrsa-decrypt-bigfile.exe.manifest script to C:\Python34\Scripts
    Installing pyrsa-keygen-script.py script to C:\Python34\Scripts
    Installing pyrsa-keygen.exe script to C:\Python34\Scripts
    Installing pyrsa-keygen.exe.manifest script to C:\Python34\Scripts
    Installing pyrsa-encrypt-bigfile-script.py script to C:\Python34\Scripts
    Installing pyrsa-encrypt-bigfile.exe script to C:\Python34\Scripts
    Installing pyrsa-encrypt-bigfile.exe.manifest script to C:\Python34\Scripts
    Installing pyrsa-verify-script.py script to C:\Python34\Scripts
    Installing pyrsa-verify.exe script to C:\Python34\Scripts
    Installing pyrsa-verify.exe.manifest script to C:\Python34\Scripts
    Installing pyrsa-priv2pub-script.py script to C:\Python34\Scripts
    Installing pyrsa-priv2pub.exe script to C:\Python34\Scripts
    Installing pyrsa-priv2pub.exe.manifest script to C:\Python34\Scripts
  Running setup.py install for pyasn1-modules
  Running setup.py install for pyasn1
  Running setup.py install for protorpc
    Installing gen_protorpc-script.py script to C:\Python34\Scripts
    Installing gen_protorpc.exe script to C:\Python34\Scripts
    Installing gen_protorpc.exe.manifest script to C:\Python34\Scripts


  Running setup.py install for pycrypto
    building 'Crypto.Random.OSRNG.winrandom' extension
    warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
    error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).
    Complete output from command C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\rcleveng\\A
ppData\\Local\\Temp\\pip-build-8fg02y5q\\pycrypto\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read
().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\rcleveng\AppData\Local\Temp\pip-qtsb3d6k-record\
install-record.txt --single-version-externally-managed --compile:
    running install

    running build

    running build_py

    creating build

    creating build\lib.win32-3.4

    creating build\lib.win32-3.4\Crypto

    copying lib\Crypto\pct_warnings.py -> build\lib.win32-3.4\Crypto

    copying lib\Crypto\__init__.py -> build\lib.win32-3.4\Crypto

    creating build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\hashalgo.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\HMAC.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\MD2.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\MD4.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\MD5.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\RIPEMD.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\SHA.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\SHA224.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\SHA256.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\SHA384.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\SHA512.py -> build\lib.win32-3.4\Crypto\Hash

    copying lib\Crypto\Hash\__init__.py -> build\lib.win32-3.4\Crypto\Hash

    creating build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\AES.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\ARC2.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\ARC4.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\blockalgo.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\Blowfish.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\CAST.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\DES.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\DES3.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\PKCS1_OAEP.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\PKCS1_v1_5.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\XOR.py -> build\lib.win32-3.4\Crypto\Cipher

    copying lib\Crypto\Cipher\__init__.py -> build\lib.win32-3.4\Crypto\Cipher

    creating build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\asn1.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\Counter.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\number.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\py3compat.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\randpool.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\RFC1751.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\winrandom.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\_number_new.py -> build\lib.win32-3.4\Crypto\Util

    copying lib\Crypto\Util\__init__.py -> build\lib.win32-3.4\Crypto\Util

    creating build\lib.win32-3.4\Crypto\Random

    copying lib\Crypto\Random\random.py -> build\lib.win32-3.4\Crypto\Random

    copying lib\Crypto\Random\_UserFriendlyRNG.py -> build\lib.win32-3.4\Crypto\Random

    copying lib\Crypto\Random\__init__.py -> build\lib.win32-3.4\Crypto\Random

    creating build\lib.win32-3.4\Crypto\Random\Fortuna

    copying lib\Crypto\Random\Fortuna\FortunaAccumulator.py -> build\lib.win32-3.4\Crypto\Random\Fortuna

    copying lib\Crypto\Random\Fortuna\FortunaGenerator.py -> build\lib.win32-3.4\Crypto\Random\Fortuna

    copying lib\Crypto\Random\Fortuna\SHAd256.py -> build\lib.win32-3.4\Crypto\Random\Fortuna

    copying lib\Crypto\Random\Fortuna\__init__.py -> build\lib.win32-3.4\Crypto\Random\Fortuna

    creating build\lib.win32-3.4\Crypto\Random\OSRNG

    copying lib\Crypto\Random\OSRNG\fallback.py -> build\lib.win32-3.4\Crypto\Random\OSRNG

    copying lib\Crypto\Random\OSRNG\nt.py -> build\lib.win32-3.4\Crypto\Random\OSRNG

    copying lib\Crypto\Random\OSRNG\posix.py -> build\lib.win32-3.4\Crypto\Random\OSRNG

    copying lib\Crypto\Random\OSRNG\rng_base.py -> build\lib.win32-3.4\Crypto\Random\OSRNG

    copying lib\Crypto\Random\OSRNG\__init__.py -> build\lib.win32-3.4\Crypto\Random\OSRNG

    creating build\lib.win32-3.4\Crypto\SelfTest

    copying lib\Crypto\SelfTest\st_common.py -> build\lib.win32-3.4\Crypto\SelfTest

    copying lib\Crypto\SelfTest\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest

    creating build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\common.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_AES.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_ARC2.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_ARC4.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_Blowfish.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_CAST.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_DES.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_DES3.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_15.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_oaep.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\test_XOR.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    copying lib\Crypto\SelfTest\Cipher\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Cipher

    creating build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\common.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_HMAC.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_MD2.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_MD4.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_MD5.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_RIPEMD.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_SHA.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_SHA224.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_SHA256.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_SHA384.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\test_SHA512.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    copying lib\Crypto\SelfTest\Hash\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Hash

    creating build\lib.win32-3.4\Crypto\SelfTest\Protocol

    copying lib\Crypto\SelfTest\Protocol\test_AllOrNothing.py -> build\lib.win32-3.4\Crypto\SelfTest\Protocol

    copying lib\Crypto\SelfTest\Protocol\test_chaffing.py -> build\lib.win32-3.4\Crypto\SelfTest\Protocol

    copying lib\Crypto\SelfTest\Protocol\test_KDF.py -> build\lib.win32-3.4\Crypto\SelfTest\Protocol

    copying lib\Crypto\SelfTest\Protocol\test_rfc1751.py -> build\lib.win32-3.4\Crypto\SelfTest\Protocol

    copying lib\Crypto\SelfTest\Protocol\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Protocol

    creating build\lib.win32-3.4\Crypto\SelfTest\PublicKey

    copying lib\Crypto\SelfTest\PublicKey\test_DSA.py -> build\lib.win32-3.4\Crypto\SelfTest\PublicKey

    copying lib\Crypto\SelfTest\PublicKey\test_ElGamal.py -> build\lib.win32-3.4\Crypto\SelfTest\PublicKey

    copying lib\Crypto\SelfTest\PublicKey\test_importKey.py -> build\lib.win32-3.4\Crypto\SelfTest\PublicKey

    copying lib\Crypto\SelfTest\PublicKey\test_RSA.py -> build\lib.win32-3.4\Crypto\SelfTest\PublicKey

    copying lib\Crypto\SelfTest\PublicKey\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\PublicKey

    creating build\lib.win32-3.4\Crypto\SelfTest\Random

    copying lib\Crypto\SelfTest\Random\test_random.py -> build\lib.win32-3.4\Crypto\SelfTest\Random

    copying lib\Crypto\SelfTest\Random\test_rpoolcompat.py -> build\lib.win32-3.4\Crypto\SelfTest\Random

    copying lib\Crypto\SelfTest\Random\test__UserFriendlyRNG.py -> build\lib.win32-3.4\Crypto\SelfTest\Random

    copying lib\Crypto\SelfTest\Random\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Random

    creating build\lib.win32-3.4\Crypto\SelfTest\Random\Fortuna

    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaAccumulator.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\
Fortuna

    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaGenerator.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\Fo
rtuna

    copying lib\Crypto\SelfTest\Random\Fortuna\test_SHAd256.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\Fortuna

    copying lib\Crypto\SelfTest\Random\Fortuna\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\Fortuna

    creating build\lib.win32-3.4\Crypto\SelfTest\Random\OSRNG

    copying lib\Crypto\SelfTest\Random\OSRNG\test_fallback.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\OSRNG

    copying lib\Crypto\SelfTest\Random\OSRNG\test_generic.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\OSRNG

    copying lib\Crypto\SelfTest\Random\OSRNG\test_nt.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\OSRNG

    copying lib\Crypto\SelfTest\Random\OSRNG\test_posix.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\OSRNG

    copying lib\Crypto\SelfTest\Random\OSRNG\test_winrandom.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\OSRNG

    copying lib\Crypto\SelfTest\Random\OSRNG\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Random\OSRNG

    creating build\lib.win32-3.4\Crypto\SelfTest\Util

    copying lib\Crypto\SelfTest\Util\test_asn1.py -> build\lib.win32-3.4\Crypto\SelfTest\Util

    copying lib\Crypto\SelfTest\Util\test_Counter.py -> build\lib.win32-3.4\Crypto\SelfTest\Util

    copying lib\Crypto\SelfTest\Util\test_number.py -> build\lib.win32-3.4\Crypto\SelfTest\Util

    copying lib\Crypto\SelfTest\Util\test_winrandom.py -> build\lib.win32-3.4\Crypto\SelfTest\Util

    copying lib\Crypto\SelfTest\Util\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Util

    creating build\lib.win32-3.4\Crypto\SelfTest\Signature

    copying lib\Crypto\SelfTest\Signature\test_pkcs1_15.py -> build\lib.win32-3.4\Crypto\SelfTest\Signature

    copying lib\Crypto\SelfTest\Signature\test_pkcs1_pss.py -> build\lib.win32-3.4\Crypto\SelfTest\Signature

    copying lib\Crypto\SelfTest\Signature\__init__.py -> build\lib.win32-3.4\Crypto\SelfTest\Signature

    creating build\lib.win32-3.4\Crypto\Protocol

    copying lib\Crypto\Protocol\AllOrNothing.py -> build\lib.win32-3.4\Crypto\Protocol

    copying lib\Crypto\Protocol\Chaffing.py -> build\lib.win32-3.4\Crypto\Protocol

    copying lib\Crypto\Protocol\KDF.py -> build\lib.win32-3.4\Crypto\Protocol

    copying lib\Crypto\Protocol\__init__.py -> build\lib.win32-3.4\Crypto\Protocol

    creating build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\DSA.py -> build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\ElGamal.py -> build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\pubkey.py -> build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\RSA.py -> build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\_DSA.py -> build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\_RSA.py -> build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\_slowmath.py -> build\lib.win32-3.4\Crypto\PublicKey

    copying lib\Crypto\PublicKey\__init__.py -> build\lib.win32-3.4\Crypto\PublicKey

    creating build\lib.win32-3.4\Crypto\Signature

    copying lib\Crypto\Signature\PKCS1_PSS.py -> build\lib.win32-3.4\Crypto\Signature

    copying lib\Crypto\Signature\PKCS1_v1_5.py -> build\lib.win32-3.4\Crypto\Signature

    copying lib\Crypto\Signature\__init__.py -> build\lib.win32-3.4\Crypto\Signature

    Skipping implicit fixer: buffer

    Skipping implicit fixer: idioms

    Skipping implicit fixer: set_literal

    Skipping implicit fixer: ws_comma

    running build_ext

    building 'Crypto.Random.OSRNG.winrandom' extension

    warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.

    error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

    ----------------------------------------
    Command "C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\rcleveng\\AppData\\Local\\Temp\
\pip-build-8fg02y5q\\pycrypto\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '
\n'), __file__, 'exec'))" install --record C:\Users\rcleveng\AppData\Local\Temp\pip-qtsb3d6k-record\install-record.txt -
-single-version-externally-managed --compile" failed with error code 1 in C:\Users\rcleveng\AppData\Local\Temp\pip-build
-8fg02y5q\pycrypto
@dhermes
Copy link
Contributor

dhermes commented Jul 22, 2015

Thanks for reporting! We don't have much Windows expertise, so it's great to have people tell us what isn't working.

@rcleveng
Copy link
Author

The binaries I used were here: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
a SO search turned up this seemed to be one of the better ways (apart from installing an old MSVC) to get this working. After I installed this pycrypto binary package, then pip install gcloud-python worked.

@dhermes
Copy link
Contributor

dhermes commented Aug 7, 2015

@tseaver I've been toying around a bit and think we can drop pycrypto as a dep in setup.py.

We should chat. (Some evidence that hashlib MD5 is fast enough.)

@tseaver
Copy link
Contributor

tseaver commented Aug 7, 2015

FWIW, we use more than MD5:

$ git grep Crypto
gcloud/credentials.py:from Crypto.Hash import SHA256
gcloud/credentials.py:from Crypto.PublicKey import RSA
gcloud/credentials.py:from Crypto.Signature import PKCS1_v1_5
gcloud/credentials.py:    :rtype: :class:`Crypto.PublicKey.RSA._RSAobj`
gcloud/storage/_helpers.py:from Crypto.Hash import MD5

@dhermes
Copy link
Contributor

dhermes commented Aug 7, 2015

Yup. I ran the same git grep command but haven't figured out how to address yet (leaning towards dumping them into oauth2client). At least sha256 is included in hashlib.

dhermes added a commit to dhermes/google-cloud-python that referenced this issue Jan 2, 2016
This was done because PyCrypto does not install easily on Windows.
pyOpenSSL is managed by PyCA (the Python crypto authority) and
has a mature release process.

This change was influenced by discussions about googleapis#1009.
dhermes added a commit to dhermes/google-cloud-python that referenced this issue Jan 2, 2016
This was done because PyCrypto does not install easily on Windows.
pyOpenSSL is managed by PyCA (the Python crypto authority) and
has a mature release process.

This change was influenced by discussions about googleapis#1009.
@dhermes
Copy link
Contributor

dhermes commented Jan 25, 2016

@rcleveng We are working on a release now that uses pyOpenSSL instead of PyCrypto. It should be easier to install now.

@dhermes
Copy link
Contributor

dhermes commented Feb 21, 2016

Closing this since #1124 is the last remaining hurdle. #1408 will also help a bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants