pip install: comment forcer une version de paquet spécifique

J'essaie D'installer Django 1.4.3, mais quand j'exécute pip install, pip continue D'installer Django 1.5 version au lieu de 1.4.3

sudo pip install -I Django==1.4.3

renvoie:

Downloading/unpacking Django==1.4.3
  Running setup.py egg_info for package Django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
=== >>>> Requested Django==1.4.3, but installing version 1.5 <<<< ====
Installing collected packages: Django
  Found existing installation: Django 1.5
    Uninstalling Django:
      Successfully uninstalled Django
  Running setup.py install for Django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed Django
Cleaning up...

mais si j'exécute PIP freeze, il continue à afficher

Django= = 1.5

Ce que je fais mal?

Merci

27
demandé sur kothvandir 2013-03-28 23:31:20

3 réponses

ceci pourrait/devrait / peut être aidé en dégageant le DIR de construction pour Django dans pip. Il y a un bug pour cela, depuis la version 1.1 voir ici pour plus de détails

Vous pouvez commencer à vérifier ces dossiers ici si vous êtes sur des systèmes de type OS X ou unix:

~/.pip 
/tmp/pip-build-root (or pip-build-$USER, if you aren't running pip as root).

ceci est si vous n'avez pas spécifié un nouveau dossier de compilation lorsque vous avez installé la première version de Django.

Bonne chance!

17
répondu Henrik Andersson 2014-04-03 21:04:14

feux de la rampe dit, vous devriez vider votre cache et construire des répertoires, ou passer dans un endroit propre temporaire avec le --download-cache et le drapeau.

$ pip help install
[...]
--download-cache <dir>      Cache downloaded packages in <dir>.
-b, --build <dir>           Directory to unpack packages into and build in. The default in a virtualenv is "<venv path>/build". The default for global installs is
                          "<OS temp dir>/pip-build-<username>".

je voudrais avertir les lecteurs de ne pas utiliser

si vous avez besoin d'une version différente de celle du paquet-système, utilisez virtualenv pour isoler vos dépendances du système.

OP semble être sur OSX et je ne sais pas du tout à l'échelle du serveur Mac Django, mais ça peut changer. Envisagez d'installer des paquets python avec sudo au pair à changer le python système-installé avec python 3; il pourrait fonctionner pour l'instant, mais avoir un peu de paracétamol en stock, que vous êtes dans pour quelques maux de tête.

8
répondu Chris Wesseling 2017-05-23 10:30:49

Vérifiez votre cache local et retirez-le peut être utile. Je hava installé pymongo==2.5.2. Pour installer pymongo= = 2.4.1, je supprime le cache dans /tmp/pip-build-root / pymongo.Puis j'installe pymongo 2.4.1 avec succès.

4
répondu Chen Jack 2013-07-20 06:39:17