Limitations
whl2conda supports the conversion of generic pure python wheels into noarch python conda packages.
It has the following limitations and known issues, some of which will be addressed in future releases.
Arbitrary equality clause in version specifiers don't have a conda equivalent
The arbitrary equality clause === is not supported by conda
and there is no equivalent. This clause is also heavily discouraged
in dependencies and probably will not occur that often in practice.
We handle this by simplying changinge === to == but
since this will often not work we also issue a warning.
File permissions are not copied when run on Windows
Executable file permissions are copied from the wheel when conversion is run on MacOS or Linux but not Windows. When converting packages that contain scripts with execute permissions (intended for use on Linux/MacOS), make sure to avoid Windows when doing the conversion (see issue issue 135)
Cannot convert from sdist
Conversion from python sdist distributions is not currently supported. This could possibly be supported in the future (see issue 78).
Cannot convert from eggs
Python egg files are also not supported. Since this file format is deprecated and uploads to pypi are no longer allowed, we have no plans to support this format.
Cannot handle dependencies using extras
Currently, for any dependencies that declare extras, the extras dependencies are not included. For instance, the dependency:
black[jupyter]
will include the black dependency itself, but not any extra dependencies
that are declared with the extra == 'jupyter' marker. This will be addressed
in a future release. See issue 36.
Only supports noarch python by default
By default, only generic python conda packages with noarch: python will be generated.
Experimental support for converting binary wheels is available using the
--allow-impure flag. See the Binary Conversion guide
for details and limitations.
Dependencies with environment markers
For noarch conversions, dependencies with environment markers are not included in the conda package. For binary conversions, markers are evaluated against the target platform and matching dependencies are included. See the Binary Conversion guide for details.