2

ドキュメントによると、Djangoがのように手動でインストールされた場合python setup.py install、ディレクトリを手動で削除する必要があります。

Shellからこれを実行して、Djangoがインストールされている場所を見つけました

python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"

djangoディレクトリをから削除しました/usr/local/lib/python2.7/dist-packages/django

その後、1.4.1を自動でインストールしようとしました。

sudo pip install Django

驚いたことに、それはそれをインストールすることを拒否しました:

Requirement already satisfied (use --upgrade to upgrade): Django in /usr/local/lib/python2.7/dist-packages
Cleaning up...

そのため、ドキュメントにそれが反映されていなくても、これを行う以外に選択肢はありませんでした。

sudo pip install Django --upgrade

ログ:

Downloading/unpacking Django
  Downloading Django-1.4.1.tar.gz (7.7Mb): 7.7Mb downloaded
  Running setup.py egg_info for package Django

Installing collected packages: Django
  Found existing installation: Django 1.4
    Uninstalling Django:
      Successfully uninstalled Django
  Running setup.py install for Django
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755

    changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed Django
Cleaning up...

ドキュメントには、djangoファイルが含まれているだけでなく含まれていることも記載されていないよう/python2.7/dist-packages/djangoです/usr/local/bin/django-admin.py

ドキュメントが明示的に警告しているので、これが私が行った方法で正しいかどうか疑問に思います:

このインストール手法を使用する場合は、最初にDjangoの既存のインストールをすべて削除することが特に重要です。そうしないと、Djangoから削除された以前のバージョンのファイルを含むインストールが壊れてしまう可能性があります。

4

2 に答える 2

1

すべて大丈夫です。

通常、/ usr / local/binにはシンボリックリンクしかありません。

于 2012-08-05T11:53:56.350 に答える
0

Djangoのインストール方法に関するDjangoドキュメントの不適切な言語が原因で、この種の混乱を経験しています。Python setup.pyを使用した場合は、Kaveのように「dist-packages」からではなく「site-packages」からDjangoのものを手動で削除する必要があると言われていることに注意してください。

明らかに、Djangoをサイトパッケージにドラッグすることで手動でインストールできます(PIPまたはEasyInstallでまだインストールしていない場合)。

PIPまたはEasyInstallを使用したことがある場合は、それらのプログラムに削除を処理させることができると言われています。それは、Kaveが提案した理由で、その場合はあえて手動で削除しないことを意味する可能性があります。

Djangoを持っている人は、言葉が正確な意味を持っているかのように喜んで書くだろうか。

1.4は私が始めたバージョンであるため、以前のバージョンの上に1.4をインストールして実験することはできません。しかし、Kave、おそらくあなたは、私のように、以前のバージョンをどのようにインストールしたかを正確に覚えていませんでした。当時はEasyInstallまたはPIPを使用していた可能性があるため、Djangoフォルダーはsite-packagesではなくdist-packagesに配置されていました。

古いDjangoバージョンのdist-packagesフォルダーに「egg」情報ファイルが見つかりました。EasyInstallは卵を使用します。setup.pyのドキュメントをざっと見てみると、そうではないことがわかります。

于 2013-09-19T07:44:34.543 に答える