user2548635 user2548635 - 6 months ago 76
Python Question

python: can't open file 'django-admin.py': [Errno 2] No such file or directory

I have a mac and I am starting to work on django. When I try to make a project on the terminal by writing

python django-admin.py startproject myproject


I get this error

python: can't open file 'django-admin.py': [Errno 2] No such file or directory


While I was looking around for help, one solution suggested to write type django-admin.py to get the location of django-admin.py and use that.

So when I type

python /usr/local/bin/django-admin.py startproject myproject


my project is created.

Can anyone tell my why I need to do this and why I can't write just django-admin.py? Also is there anyway to get around this?

Answer

You're confusing two ways of referring to an executable file.

/usr/local/bin is in your path, and django-admin.py is marked as executable, so you can refer to it without the initial python:

django-admin.py startproject myproject

When you start with python, that is saying "start Python with the script at this path". So, you need to pass the full path, if the script you're trying to start isn't in your current directory.