cloudify-cosmo / wagon

Creates Wheel based archives to allow portable offline installation of Python packages and their dependencies
Apache License 2.0
108 stars 14 forks source link

Don't refuse to install manylinux1_x86_64 wagons on x86_64 #61

Closed OddBloke closed 7 years ago

OddBloke commented 8 years ago

When building a wagon containing (e.g.) cffi, pip will happily pull down a manylinux1_x86_64 wheel. wagon will (sometimes; see #60) create a wagon with a supported platform of manylinux1_x86_64, but will then refuse to install this on a linux_x86_64 system, because the two strings don't match.

This is the output (note that I've opened #59 for the traceback):

+ wagon install -s foo-0.1.0-py27-none-manylinux1_x86_64-Ubuntu-precise.wgn
INFO - Installing foo-0.1.0-py27-none-manylinux1_x86_64-Ubuntu-precise.wgn
ERROR - Platform unsupported for package (linux_x86_64).
Traceback (most recent call last):
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/bin/wagon", line 11, in <module>
    sys.exit(main())
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/local/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/local/lib/python2.7/site-packages/wagon/wagon.py", line 519, in install
    virtualenv, requirements_file, upgrade, ignore_platform, install_args)
  File "/srv/jenkins/jobs/TEMP-Wagon-Test/workspace/wagon_venv/local/lib/python2.7/site-packages/wagon/wagon.py", line 180, in install
    sys.exit(codes.errors['unsupported_platform_for_package'])
KeyError: 'unsupported_platform_for_package'
OddBloke commented 8 years ago

(Note that you can work around this by specifying -a '--no-binary cffi', so that pip will pull the cffi source and compile it locally.)

nir0s commented 7 years ago

Thanks. You can also ignore the platform check using the --ignore-platform if necessary.

nir0s commented 7 years ago

Will be releasing v0.6.0 very soon.