New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip wheel -r doesn't build wheels for dependencies of editable requirements #1775

Closed
Symmetric opened this Issue Apr 28, 2014 · 6 comments

Comments

Projects
None yet
4 participants
@Symmetric

Symmetric commented Apr 28, 2014

echo '-e ./module' | pip wheel -r /dev/stdin

Gives the output:

ignoring file:///home/me/module
You must give at least one requirement to wheel (see "pip help wheel")

The behaviour I would expect is for pip to create wheels for the dependencies of 'module', and skip making the wheel for 'module' itself (since it's an editable/develop module). If you don't want to install the dependencies, it seems that's what the '--no-deps' flag is for.

The use-case is an app where the components are all installed as develop/editable installs (using '-e ./module' in requirements.txt). For pip install -r requirements.txt this correctly fetches dependencies.

@qwcode

This comment has been minimized.

Show comment
Hide comment
@qwcode

qwcode Apr 29, 2014

Contributor

agreed, but moreover maybe pip wheel should just build the wheel for the editable requirement as well.

Contributor

qwcode commented Apr 29, 2014

agreed, but moreover maybe pip wheel should just build the wheel for the editable requirement as well.

@qwcode

This comment has been minimized.

Show comment
Hide comment
@qwcode

qwcode Apr 29, 2014

Contributor

on 2nd thought, that will often end up with a confusing result.
working on a PR now though for the original problem.

Contributor

qwcode commented Apr 29, 2014

on 2nd thought, that will often end up with a confusing result.
working on a PR now though for the original problem.

@Symmetric

This comment has been minimized.

Show comment
Hide comment
@Symmetric

Symmetric Apr 29, 2014

Awesome, thanks for the speedy response!

Symmetric commented Apr 29, 2014

Awesome, thanks for the speedy response!

@Symmetric

This comment has been minimized.

Show comment
Hide comment
@Symmetric

Symmetric May 1, 2014

After attempting to work around this issue, I've found a related problem with pip wheel handling of editable installs, which might factor in to your fix here.

If I have nested projects, with a dependency from the container to the contained project:

setup.py
/subproject/setup.py

requirements.txt:
  -e subproject

The wheel install fails, because it can't locate the dependency for subproject:

Could not find any downloads that satisfy the requirement subproject (from project==0.1)

I suppose this is to be expected, since per the above bug, the -e subproject line is being ignored. Not sure if this was on your radar already; I'm happy to provide more detail if you need it.

Symmetric commented May 1, 2014

After attempting to work around this issue, I've found a related problem with pip wheel handling of editable installs, which might factor in to your fix here.

If I have nested projects, with a dependency from the container to the contained project:

setup.py
/subproject/setup.py

requirements.txt:
  -e subproject

The wheel install fails, because it can't locate the dependency for subproject:

Could not find any downloads that satisfy the requirement subproject (from project==0.1)

I suppose this is to be expected, since per the above bug, the -e subproject line is being ignored. Not sure if this was on your radar already; I'm happy to provide more detail if you need it.

@Ivoz

This comment has been minimized.

Show comment
Hide comment
@Ivoz

Ivoz May 1, 2014

Member

@Symmetric the name requirements.txt is simply a convention, not a standard; so pip / setuptools have never been designed to automatically find a project or projects using it. You can't use it for specifying dependencies like that.

it should probably work if you have in the top project a requirements.txt with

-e subsubject/
-e .

and then use pip wheel -r requirements.txt on that.

Member

Ivoz commented May 1, 2014

@Symmetric the name requirements.txt is simply a convention, not a standard; so pip / setuptools have never been designed to automatically find a project or projects using it. You can't use it for specifying dependencies like that.

it should probably work if you have in the top project a requirements.txt with

-e subsubject/
-e .

and then use pip wheel -r requirements.txt on that.

@ithinkmfallin

This comment has been minimized.

Show comment
Hide comment
@ithinkmfallin

ithinkmfallin Apr 14, 2016

I didn't get it? what is requirement.txt?
I am finding same problem on windows.

ithinkmfallin commented Apr 14, 2016

I didn't get it? what is requirement.txt?
I am finding same problem on windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment