-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Install with bundle should handle requirements with version numbers #282
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
Comments
+1 (I know, I don't have patch...but there is no voting system ;)) |
Possibly related to #838 ? |
I can't believe this isn't fixed. I have the same issue and no easy way to fix it. |
The bundle feature will be removed entirely. |
What's the alternative? |
pip wheel is the proposed alternative. I didn't try it because it hasn't been released yet, but it should create wheels of your package and all its requirements and collect them into one directory. So you'll have a bunch of files instead of one, but you should be able to do the same things... |
wheel is doing bdist not sdist, thus pre-compiled packages. That's not suitable for distribution on multiple platforms with different architectures AFAIK. |
For a sdist equivalent, the idea is that you can just use a directory of sdists plus a requirements file, with --no-index and --find-links arguments (probably specified in the requirements file itself). |
I'll end up doing that, the bundle was easy to create and install. Upstream doesn't always provide requirements files and including recursive dependencies manually is a PITA. |
This will download any dependencies as well. I believe it handles recursive dependencies automatically, but I don't have an example. If you can provide an example (that works on Python 3 on Windows) I can check, but I guess you can check for yourself just as easily... |
@Diaoul: Agreed, installing stuff is easy, but creating a list of requirements is hard. If I have to maintain a requirements file, I have to use something on top of setup.py. Just having it work was the biggest advantage of virtualenv/pip... |
@pfmoore: at least with version 1.1 and 1.3.1 this: pip install --download DOWNLOAD_DIRECTORY --no-install PATH_TO_LOCAL_CHECKOUT gives me: [Errno 2] No such file or directory: '/tmp/pip-dRufKM-build/setup.py' a normal install works flawlessly. Omitting --no-install doesn't change anything. |
OK, I have no idea regarding local checkouts. I don't use them like that so I can't comment. Thanks for clarifying. |
The example in the docs requires a requirements.txt, if that runs without -r requirements.txt then that's fine for me. |
you can use e.g. |
See #831 for the problem I mentioned earlier. |
When installing requirements from a bundle the version numbers are not checked. Instead, any existing version of a given package remains installed. And, including a requirements file argument to the command does have any impact. I think this is a bug because it is not consistent with the way that an install without a bundle works.
Using a bundle should work the same way as 'pip install' does when there is no bundle. Specifically, if there is a requirements file with a version number for a given package and that version of the package is included in the bundle then the required version should should be installed. If -U is included then all packages should be upgraded (as is currently the case), and if there are no requirements or a requirement with no specific version, the package from the bundle should be installed if that package has not previously been installed.
The text was updated successfully, but these errors were encountered: