Skip to content

PyCrypto >=2.1 has issues with pip #228

@bitprophet

Description

@bitprophet

Description

I could swear that it used to be possible to install PyCrypto 2.1+ via pip, but am not 100% positive. So the issue below may be due solely to a change in PyCrypto, or may be a combination of such a change and a change in pip.

Installation of PyCrypto 2.1, 2.2 or 2.3 via pip results in this error:

Downloading/unpacking pycrypto==2.1
Downloading pycrypto-2.1.0.tar.gz (265Kb): 265Kb downloaded
Storing download in cache at /tmp/pip_cache/http%3A%2F%2Fwww.pycrypto.org%2Ffiles%2Fpycrypto-2.1.0.tar.gz
Running setup.py egg_info for package pycrypto
Traceback (most recent call last):
File "<string>", line 14, in <module>
IOError: [Errno 2] No such file or directory: '/opt/envs/fabtest/build/pycrypto/setup.py'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 14, in <module>
IOError: [Errno 2] No such file or directory: '/opt/envs/fabtest/build/pycrypto/setup.py'

Performing pip install pycrypto==2.0.1 (which is the oldest version still extant on public servers) works correctly. Using easy_install -- on any version of PyCrypto -- also works correctly.

Thus, users new to Fabric who have not previously installed PyCrypto, and are using Pip to install Fabric, will encounter this issue.


Solutions:

  1. Recommend pip users install Fabric via easy_install pycrypto && pip install fabric and do nothing otherwise.
    • Plus: Allows users to obtain latest PyCrypto
    • Minus: breaks base-case pip install (thus turning some users off from what is usually a superior tool), and/or requires all users to read the docs before installing (ha).
  2. Update setup.py to require pycrypto==2.0.1.
    • Plus: no funky install instructions, Paramiko should still work fine on 1.9+, so 2.0.1 ought to suffice.
    • Minus: 1.9 is no longer public, who knows how long 2.0.1 will still be on pypi.
    • Minus: 2.0.1 is a ways older than 2.3, so may be missing out on useful/crucial stability or security fixes.

Will test Fabric a bit on PyCrypto 2.0.1 but I think option 2 is possibly the best choice for now. Can always go back to option 1 later at little cost.


Originally submitted by Jeff Forcier (bitprophet) on 2010-09-05 at 10:58pm EDT

Relations


Closed as Done on 2011-03-10 at 12:52pm EST

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions