On Wed, 12 Sep 2018 at 18:33, Nathaniel Smith
On Wed, Sep 12, 2018, 09:53 sashk wrote:
Hi,
With latest version of pip, it now forces to build wheel for every package, which causes incompatibilities (due to use of data_files and copying into not standard path) . I've attempted to add --binary=:all: --no-binary mypackage to the pip command, but it did not help. Only solution I found is to break bdist_wheel command in the setup.py, but it adds error messages during installation which can be improperly interpreted by end users.
That may be your best workaround for now, but in you should try to fix your package so that it can build a wheel. Pip is moving towards making bdist_wheel the only supported option, because supporting 'setup.py install' adds a lot of complexity, which is a strain on our limited resources and makes it more difficult to add new features elsewhere in the packaging ecosystem.
Not just extra complexity. PEP 517 (support for which will be added to pip in the near future) doesn't even offer a "direct install" interface, so under PEP 517, installation by building a wheel is the *only* option. I agree with Nathaniel - the correct solution is to fix your package so that can be built as a wheel which correctly installs as you wish. If that's not possible due to limitations in the wheel format or the wheel building process, please file issues explaining your use case and the problems you're having, so we can address them. Paul