Limitations
whl2conda supports the conversion of generic python wheels into 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 has no 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 simply changing === 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 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:
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.
Binary wheels can be converted 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.