Comments (3)
It seems pip-accel will install whatever is in its cache, regardless of whether there's a new version in its index, unless you specify the version you want to install. Interestingly, it also does this if you try to do something like pip-accel install --upgrade ./package-1.2.3.tar.gz
, which had me quite confused.
This kinda makes sense, if I understand how it works. I'd assume it treats every requirement the same, and if the package I'm installing specifies a requirement without a version specifier, I want it to just use whatever's in the cache. It'd be nice if this behavior could be overridden to have it ignore the cache just for the package in the actual command when the --upgrade
flag is given, regardless of whether a version specifier is given. I don't know how feasible that is.
Failing that, the way I've scripted around this is to run rm $(python -c 'from pip_accel.config import Config; print Config().data_directory')/sources/$PACKAGE_NAME*
before the install command to manually clear it from the cache.
from pip-accel.
Thx for your comment. Way we solved it is first do a run with pip-accel and after that do a run with standard pip.
from pip-accel.
Hi @geertn and @embolalia,
Thanks for the feedback and sorry for not replying here earlier.
The behavior described in this issue is indeed how pip-accel was originally designed to work, so not exactly a bug. When the (name, version) requirements specified on the command line can be satisfied based on cached source and binary distributions on the local file system pip-accel would install those and not go looking for updates on remote package indexes.
However just because pip-accel was designed like this doesn't mean that this behavior of ignoring the -U
, --upgrade
option hasn't annoyed the hell out of me :-). This is why I've just released pip-accel 0.34 which changes behavior in this respect:
- If
-U
or--upgrade
is given then new versions in remote indexes will be discovered and preferred, regardless of whether older locally cached versions can be used to satisfy the requirements. - If
-U
and--upgrade
aren't given and the requirements can be satisfied from the local file system then new versions in remote indexes will not be discovered.
I believe that with this change things should work as intuitively as possible. Sorry about the confusion caused by the behavior of previous versions!
from pip-accel.
Related Issues (20)
- Doesn't work with pip 7+ HOT 2
- Add option for terse logging. HOT 5
- Windows / Appveyor - same version of cached file - invalidated and built again HOT 5
- is_wheel fails when source_directory is None HOT 6
- Not able to use pip-accel both globally and inside a virtual environment HOT 4
- Support custom pip command HOT 7
- Upgrade to pip 8 HOT 4
- Disabling S3CacheBackend because it failed HOT 2
- pip-accel does not support running as a module HOT 6
- Is there any way to use pip-accel without installing to virtualenv?
- pip-accel is not compatible with `-e` editable installs of packages that use `setuptools_scm` HOT 2
- Why does `pip-accel` make an sdist (?) archive when I `pip-accel install -e .`? HOT 3
- pip-accel doesn't support the newest pip? HOT 4
- Not compatible with alternative install locations, e.g. `--user`? HOT 2
- [need advice] Do not cache development versions
- Failed to install some packages
- pip-accel should honor settings in pip.conf
- Is this project still alive? HOT 2
- Trying to install pip-accel, it insists on downgrading pip to 2.7. How can I get it to respect the current version, 21.1.2
- Not able to use pip-accel
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pip-accel.