Skip to content
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 install from a bundle does not respect order of requirements in manifest.txt #1044

Closed
meconlin opened this issue Jul 12, 2013 · 1 comment
Labels
auto-locked Outdated issues that have been locked by automation

Comments

@meconlin
Copy link

Problem

pip install from a bundle does not respect order of requirements in the manifest file.

Reproduce

Make a simple requirements.txt file that contains

PyYAML==3.10
ua-parser==0.3.2

Create a bundle from that file

pip bundle small_bundle.pybundle -r requirements.txt

It produces the following manifest

# This is a pip bundle file, that contains many source packages
# that can be installed as a group.  You can install this like:
#     pip this_file.zip
# The rest of the file contains a list of all the packages included:
# These packages were installed to satisfy the above requirements:
PyYAML==3.10
ua-parser==0.3.2

You can easily install these requirements in the correct order using

pip install -r requirements.txt
...
Successfully installed PyYAML ua-parser

You will fail to install these requirement using the bundle. It attempts to install ua-parser first and fail due to PyYAML dependency.

pip install small_bundle.pybundle
...
ImportError: No module named yaml
@qwcode
Copy link
Contributor

qwcode commented Jul 13, 2013

sorry to say, bundles are going away most likely. not enough momentum. nobody is handling bugs for it.

I should be able to just do this: pip install ua-parser==0.3.2
(and have it install yaml as a dependency due to the install_requires relationship https://github.com/tobie/ua-parser/blob/master/setup.py#L55)

but I can't, because ua-parser is trying to import yaml before the dependency can be processed
https://github.com/tobie/ua-parser/blob/master/setup.py#L22

but I guess the maintainers are aware of this oddity, and have these instructions

pip install pyyaml ua-parser

they could also use setup_requires to declare the need for yaml, which would grab yaml before trying to run install (and the yaml import)

@qwcode qwcode closed this as completed Jul 13, 2013
@lock lock bot added the auto-locked Outdated issues that have been locked by automation label Jun 6, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Jun 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation
Projects
None yet
Development

No branches or pull requests

2 participants