私は少し私のジャンゴアプリを実行するために起こっていると混同しています。コマンド python manage.py runserver
を使用すると、サーバーから適切な応答が得られません。しかし、私が python2.6 manage.py runserver
を使用すると、サーバは実際に動作します。
Can someone help me with this confusion and also suggest to me how I can simplify this problem? Ideally I don't want different versions of python and only want to be able to type python manage.py runserver
はい、複数のバージョンのPythonをあなたのコンピュータに並べて置くことができます。
あなたのホスト上の python
は、 python2.6
以外のバージョンにシンボリックリンクされているようです。このバージョンは次のコマンドを実行することで見つけることができます:
python --version
...または...
python -V
それがうまくいかない場合...
デフォルトのPythonバージョンを設定することは、まずPythonをどのようにインストールしたかによって異なります。
For Mac OS X, see How can I change the default Python version on Snow Leopard?
はい。それはかなり一般的です。実行可能ファイルの場所は
で確認でき、 ls
でシンボリックリンクを解決できます。
$ ls -l `which python` lrwxrwxrwx 1 root root 9 Jul 13 18:50 /usr/bin/python -> python2.6 $ ls -l `which python3` lrwxrwxrwx 1 root root 9 Jul 27 22:24 /usr/bin/python3 -> python3.1
Debianや他のシステムでは、複数のシンボリックリンクを解決する必要があります。
$ ls -l `which nc` lrwxrwxrwx 1 root root 20 Oct 7 15:16 /bin/nc -> /etc/alternatives/nc $ ls -l /etc/alternatives/nc lrwxrwxrwx 1 root root 15 Oct 7 15:16 /etc/alternatives/nc -> /bin/nc.openbsd
python
だけを入力して、必要なバージョンを取得する場合は、エイリアスを作成します。 .bashrc
ファイル(またはそのような行を保存する場所)に行を追加します。
alias python=python2.6
これはスクリプトには影響しないことに注意してください。スクリプトで "python"を実行すると、エイリアスではなく古いバージョンが取得されます。エイリアスはインタラクティブな使用のためだけです。
はい、それはPythonの2つのバージョンを持つことは可能です。私が python
を python2.6
(他の誰かのために他のバージョンを壊さずに)を実行させる最も簡単な方法は、エイリアスを使うことです。これを行うには、以下を編集して〜/ .profile
ファイルに追加するだけです:
alias python=/path/to/your/python2.6
ログアウトしてログインし、 python
を実行すると正しいバイナリを実行する必要があります。戻したい場合は、〜/ .profile
からこの行を削除するだけです。