You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use case: we want to distribute command-line tools written in Python to Linux users, and tell users "it'll work as long as you have Python 3.4, 3.5 or 3.6".
First prerequisite is manlinux1 wheels. Once that is supported we still have a problem, though: any package that has C extensions will result in pex file only working on version of Python it was built for. E.g. if pex was built with 3.4 and run with 3.5:
$ PEX_VERBOSE=1 python3.5 dist/reloopd --helppex: Found site-library: /usr/lib/python3.5/dist-packagespex: Found site-library: /usr/lib/python3/dist-packagespex: Found site-library: /usr/local/lib/python3.5/dist-packagespex: Tainted path element: /usr/local/lib/python3.5/dist-packagespex: Tainted path element: /usr/lib/python3/dist-packagespex: Scrubbing from user site: /home/itamarst/.local/lib/python3.5/site-packagespex: Scrubbing from site-packages: /usr/local/lib/python3.5/dist-packagespex: Scrubbing from site-packages: /usr/lib/python3/dist-packagespex: Failed to resolve a requirement: The 'Twisted==16.6.0' distribution was not found and is required by the applicationpex: Failed to resolve a requirement: The 'PyYAML==3.12' distribution was not found and is required by the applicationpex: Failed to resolve a requirement: The 'zope.interface==4.3.3' distribution was not found and is required by the applicationpex: Unresolved requirements:pex: - zope.interfacepex: - twistedpex: - pyyamlpex: Distributions contained within this pex:pex: - Twisted-16.6.0-cp34-cp34m-linux_x86_64.whlpex: - PyYAML-3.12-cp34-cp34m-linux_x86_64.whlpex: - reloop-0+untagged.14.g07067a9.dirty-py3-none-any.whlpex: - click-6.7-py2.py3-none-any.whlpex: - constantly-15.1.0-py2.py3-none-any.whlpex: - setuptools-32.3.1-py2.py3-none-any.whlpex: - zope.interface-4.3.3-cp34-cp34m-linux_x86_64.whlpex: - incremental-16.10.1-py2.py3-none-any.whlFailed to execute PEX file, missing compatible dependencies for:zope.interfacetwistedpyyaml
The only solution AFAICT is to support including wheels for multiple versions of Python (3.4, 3.5, 3.6).
The text was updated successfully, but these errors were encountered:
thanks for the details. fwiw, it is possible today to generate multi-interpreter pex files today via pants (github.com/pantsbuild/pants) - but is indeed something we'd like to pull directly into pex soonish.
marking closed as a duplicate of #68 - feel free to follow along on that one for updates.
Use case: we want to distribute command-line tools written in Python to Linux users, and tell users "it'll work as long as you have Python 3.4, 3.5 or 3.6".
First prerequisite is manlinux1 wheels. Once that is supported we still have a problem, though: any package that has C extensions will result in
pex
file only working on version of Python it was built for. E.g. if pex was built with 3.4 and run with 3.5:The only solution AFAICT is to support including wheels for multiple versions of Python (3.4, 3.5, 3.6).
The text was updated successfully, but these errors were encountered: