How do I upgrade all my python packages from requirements.txt file using pip command?
tried with below command
$ pip install --upgrade -r requirements.txt
Since, the python packages are suffixed with the version number (Django==1.5.1
) they don't seem to upgrade. Is there any better approach than manually editing requirements.txt file?
EDIT
As Andy mentioned in his answer packages are pinned to a specific version, hence it is not possible to upgrade packages through pip command.
But, we can achieve this with pip-tools
using the following command.
$ pip-review --auto
this will automatically upgrade all packages from requirements.txt (make sure to install pip-tools
using pip install command).
If you install anything in your django project and after installation you want to update your requirement file this command can update you requirement.txt file pip freeze > requirements.txt
if your requirement file not exist in you project you can use this command for make new requirement.txt file pip freeze > requirements.txt
I edit the requirements.txt as below and run $sh ./requirements.txt
Since I couldn't do that using bash, I wrote a python module to create a new requirements file with no versions and use it:
Then install the libs from the new file
pip install -U -r requirements-prod-no-version.pip
Finally freeze the versions to the original file
pip freeze > requirements-prod.pip
No. Your requirements file has been pinned to specific versions. If your requirements are set to that version, you should not be trying to upgrade beyond those versions. If you need to upgrade, then you need to switch to unpinned versions in your requirements file.
Example:
This would upgrade lxml to any version newer than 2.2.0
This would upgrade lxml to the most recent version between 2.2.0 and 2.3.0.
you can try:
You can also ignore installed package and install the new one :
I already answered this question here. Here's my solution:
Because there was no easy way for upgrading package by package, and updating the requirements.txt file, I wrote this pip-upgrader which also updates the versions in your
requirements.txt
file for the packages chosen (or all packages).Installation
Usage
Activate your virtualenv (important, because it will also install the new versions of upgraded packages in current virtualenv).
cd
into your project directory, then run:Advanced usage
If the requirements are placed in a non-standard location, send them as arguments:
If you already know what package you want to upgrade, simply send them as arguments:
If you need to upgrade to pre-release / post-release version, add
--prerelease
argument to your command.Full disclosure: I wrote this package.