Django インストールしてプロジェクトを作成しようと思ったらいきなり django-admin
の実行につまずきました…。django-admin
というコマンドが見つからないらしいです。
せっかく Django を始めてみようと思ったのに悲しい…。
python$ django-admin startproject mysite zsh: command not found: django-admin
このようなエラーが出るのは、django-admin
というファイルに PATH
が通っていないことが原因です。
ただ、PATH
をわざわざ通さなくてもプロジェクトの作成は可能です。これは、プロジェクトの作成は django-admin
だけでなく、他のコマンドからでも行うことができるからです。また、PATH
を通すにしても、そもそも django-admin
がどのフォルダにあるか分からなければ PATH
は通せないですよね…。
ということで、このページでは、django-admin
が実行できない場合の対処法として、PATH
を通さずに別のコマンドでプロジェクトを作成する方法と、PATH
を通すために django-admin
がある場所を調べる方法の2つについて、解説していきたいと思います。
django-admin
が実行できない場合の対処法
では、django-admin
が実行できない場合の対処法(特にコマンドが見つからなくて実行できない場合の対処法)について解説していきます。
PATH
を通さずにプロジェクトを作成する
前述の通り、django-admin
のあるフォルダにわざわざ PATH
を通さなくても Django のプロジェクトの作成を行うことは可能です。
python
では -m
オプションを利用することで直接モジュールを起動することが可能です。これを利用すれば、python
コマンドさえ実行できればプロジェクトの作成を行うことが可能です。
具体的には、下記コマンドによりプロジェクトの作成を行うことが可能です(下記では mysite
というプロジェクトを作成しています)。
python -m django startproject mysite
上記により、django-admin startproject mysite
を実行しなくても mysite
というプロジェクトを作成することができます。
上記コマンドを実行するときの注意点が2つあります。
1つ目はコマンドを実行する場所です。
上記コマンドを実行したフォルダに mysite
という Django のプロジェクトフォルダが作成されることになりますので、プロジェクトフォルダを作成したいフォルダに cd
コマンドで移動してから実行してください。
2つ目の注意点は、最初のコマンドの python
は、Django をインストールした Python のバージョンに合わせて変更する必要があるという点です(そのままでも良い場合もある)。あなたの PC 内に複数のバージョンの Python がインストールされている場合、いずれかのバージョンの Python に対して Django がインストールされているはずです。
そのバージョンの Python が実行されるよう、最初のコマンド python
部分を変更する必要があります(Python が1つしかインストールされていないのであれば、おそらく python
のままで大丈夫だと思います。おそらく)。
例えば、私は自身の PC 内に複数の Python をインストールしており、Django は Python3.10 に対してインストールしました。さらに、Python3.10 は python3.10
というコマンドで起動するようにしているため、上記のコマンドそのままではなく、次のコマンドによりプロジェクトを作成しました。
python3.10 -m django startproject mysite
申し訳ないことに、使用している Python に合わせてコマンドを変更する必要があるので、あなたがコマンドを実行する際に python
の部分をどう変更すれば良いかは明確には言えないのですが、おそらく、あなたがいつも Python スクリプトを実行している時に指定しているコマンドに合わせて変更すれば良いと思います。
スポンサーリンク
PATH
を通すために django-admin
のあるフォルダを調べる
続いて、django-admin
のあるフォルダを調べる方法について説明します。django-admin
への PATH
を通したい場合は、これから紹介する方法で django-admin
のあるフォルダをまず調べましょう。
django-admin
のあるフォルダを調べる方法として一番手っ取り早いのは「Django をアンインストールしようとする」だと思います。アンインストールしようとすると、その際に django-admin
のファイルパスを表示することができ、そのパスから django-admin
が存在するフォルダを確認することができます。
あくまでも行うのは「アンインストールしようとする」だけであり、実際にアンインストールしないように気をつけてください
すみませんが、試す際は自己責任でお願いいたします
おそらくアンインストールしてしまっても、再度インストールすれば良いだけだとは思いますが…
おそらく、Django をインストールする際に pip install django
を実行したと思います。もしかしたら python -m pip install django
のように python -m
からインストールしたかもしれませんが…。
いずれにしても、pip
から Django をインストールした場合、Django をインストールしたときのコマンドの install
部分を uninstall
に変更すれば、Django をアンインストールすることができます。
実際に、下記のコマンドを実行すれば、
pip uninstall django
下記のような表示が行われます。
Found existing installation: Django 4.0.2 Uninstalling Django-4.0.2: Would remove: /Library/Frameworks/Python.framework/Versions/3.10/bin/django-admin /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Django-4.0.2.dist-info/* /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/django/* Proceed (Y/n)?
これだけのファイル消すけど本当に良いですか?って聞かれていますね。ここでは、必ず n
を押すようにしてください。Y
を押すと実際にアンインストールされてしまうので注意してください。
で、上記の出力を確認していただければ分かるように、削除対象のファイルの1つとしてフルパスで django-admin
のファイルパスが表示されます(Windows の場合は django-admin.exe
のファイルパスが表示されます)。
つまり、これで django-admin
が存在するフォルダが分かることになります。私の場合は下記のフォルダに django-admin
が存在することが分かりますね!
/Library/Frameworks/Python.framework/Versions/3.10/bin
あとは、このフォルダのパスを PATH
に追加してやれば良いだけです。PATH
の通し方は OS によって異なるので別途調べていただきたいですが、MacOSX の場合は下記ページで解説していますので、こちらも参考にしていただければと思います。
追加したいフォルダのパス
の部分を、先程説明した手順で表示されたフォルダのパスに置き換えれば簡単に django-admin
に PATH
を通すことができます。
そして、django-admin
に PATH
を通せば、以降は django-admin
を実行してもエラーが出なくなり、最初に紹介した下記のコマンドでプロジェクトを作成できるようになるはずです。
python$ django-admin startproject mysite
まとめ
このページでは、django-admin
が実行できない場合の対処法(特にコマンドが見つからなくて実行できない場合の対処法)について解説しました!
django-admin
が実行できなくても、プロジェクトの作成は下記コマンドにより行うことができます(python
部分は自身で使用している Python 実行時のコマンドに合わせて変更してください)。
python -m django startproject mysite
また、Django をアンインストールしようとした際には django-admin
のパスが表示されますので、そのパスから django-admin
の存在するフォルダを確認することも可能です。フォルダが確認できれば、django-admin
に PATH
を通してやれば良いだけです。
ただし、本当にアンインストールしてしまわないように注意してください。
環境や Django のインストールの仕方によっては割とつまずきやすい現象だと思いますので、是非このページを参考にして解決していっていただければと思います!
[…] こちらのサイトに、-mを付けると解決すると書いてあったので、参考にしました。 […]