[Answer]-Why does pip installing a django module update my django version?

1👍

The -U switch tells pip to upgrade the package and dependencies to their latest available version:

-U
Upgrade all packages to the newest available version. This process is recursive regardless of whether a dependency is already satisfied.

Emphasis mine.

django-nose depends on nose and Django, so these are upgraded to their latest versions, you did not explicitly pin them.

Use --no-deps if you don’t want to upgrade dependencies:

pip install -U --no-deps django-nose==1.1

or better still, don’t use -U. You already pinned django-nose, so the -U switch is ineffective.

0👍

The switch -U means:
“Upgrade all packages to the newest available version. This process is recursive regardless of whether a dependency is already satisfied.”

So you just forced the update yourself.

Leave a comment