2013-03-28 5 views
27

を強制するために、私はDjangoの1.4.3をインストールしようとしているが、私はピップのインストールを実行するとき、PIPが代わりに1.4.3ピップインストール:どのように特定のパッケージバージョン

sudo pip install -I Django==1.4.3

をDjangoの1.5バージョンをインストールし続けます

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... 

を私はピップ凍結を実行した場合、それは

のDjango == 1.5

を示し続けて:それは返します

私は間違っていますか?

これは/ /ピップでDjangoのためのビルドディレクトリをクリアすることによって助けすることができなければならない可能性があります

+0

愚かな質問ですが、すべてのバージョンのDjangoをアンインストールしてから、コマンドを実行してみましたか? – NT3RP

+0

はい私は動作しませんでした。また、パッケージをダウンロードして手動でインストールする方法もありますが、この動作を避けて1.4.3のバージョンを強制的に使用するオプションがあるかどうかを知りたいのです – kothvandir

+0

pip install Django == 1.4.3 ' – catherine

答えて

17

ありがとうございます。 このためバグはバージョン以来、あり1.1 see here for details

あなたがシステムのようなOS XまたはUnixを使っている場合は、ここでこれらのフォルダのチェックを開始することができます:あなたがいない場合

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

ですDjangoの最初のバージョンをインストールしたときに新しいビルドフォルダが指定されました。

幸運を祈る!

+0

-vフラグでも、" Django <= 1.5 "でも、" Django == 1.4.3 "でも動作しません。エラーは出力されません。バージョン1.5は正しくインストールされますが、依頼されたDjango == 1.4.3がそのままバージョン1.5をインストールしています。 – kothvandir

+0

更新された回答を見てください –

+0

-Vフラグは、現在インストールされているpipのバージョンを出力するためのものであり、 'pip install'とは関係ありません。 – aiham

8

limelight saysとして、キャッシュを空にしてディレクトリを構築するか、--download-cacheとフラグを付けた一時的なクリーンな場所に渡す必要があります。

$ 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>". 

私はジャンゴをインストールするsudo pip installを使用しないように任意の読者に警告したいと思います。 Djangoはシステム全体にインストールされます。システム全体のバージョンを変更すると、それに依存するシステムパッケージが破損する可能性があります。たとえば、Ubuntu MAASとCobblerは、システムのdjangoパッケージに依存しています。これらは、通常は中断したくないサービスです。

システムパッケージと異なるバージョンが必要な場合は、virtualenvを使用して、システムから依存関係を分離してください。

OPはOSX上にあるようだが、サーバー全体のMac Djangoについてはわからないが、それは変更される可能性があります。 sudoのpythonパッケージをインストールすることを検討してください。これは、システムにインストールされたpythonをpython 3で変更することです。今のところうまくいくかもしれませんが、いくつかの頭痛のために、パラセタモールの在庫があります。

+0

を実行するには、pipにキャッシュを無視させるために上記の両方のフラグが必要です。それは奇妙なデザインです - 私は、-Uを追加してバージョンを強制すると、私のキャッシュにあるランダムなものではなく、そのバージョンを本当に望んでいると思います。 – fastmultiplication

4

ローカルキャッシュを確認して削除してください。私は、pymongo == 2.5.2をインストールしました。 pymongo == 2.4.1をインストールするには、/tmp/pip-build-root/pymongoのキャッシュを削除します.pymongo 2.4.1を正常にインストールします。

関連する問題