As part of a deployment procedure, I upload Python source packages (generated with setup.py sdist) to a remote server and install them in a virtualenv using pip install mypackage-1.0.tar.bz2.
This has worked for long time both for new installs and upgrades (specifically, upgrades without a change in the package’s version number). For some reason I cannot figure out, since yesterday, it fails to upgrade the packages. No error is reported, the files are just not changed. Now I’m sure I’m doing something differently but I can’t explain the change in behaviour.
I can upgrade the package with the -U --no-deps flags, but this technique forces the deployment script to differentiate between first install and upgrades (–no-deps is required as otherwise dependencies would be downloaded each time from pypi).
Any ideas how I can get a single pip command to do installs and upgrades?
pip install packagewill only be executed with you don’t have this package already.With you want to upgrade the package you’ll have to use:
pip install -U package