1

Я работаю над установкой django и запуском его в моей системе.

У меня проблема, хотя, в этом уроке создание проекта объясняется с помощью команды

django-admin.py startproject mysite

Моя проблема в том, что это не работает. Я перешел в каталог, где находится django-admin.py, и выполнил команду

chmod +x django-admin.py

без результатов. Я попытался добавить каталог с файлом в мой путь безрезультатно. Я решил проблему с помощью этой команды

python /location/of/django-admin.py startproject mysite

что дало результат, который я ожидал. Моя проблема: что мне нужно изменить / настроить так, чтобы команда

django-admin.py startproject mysite

было бы достаточно?

Вот несколько экспериментов:

21:09~/Desktop/HI/NSN/Polls > django-admin.py startproject mysite
-bash: django-admin.py: command not found
21:09~/Desktop/HI/NSN/Polls > ./django-admin.py startproject mysite
-bash: ./django-admin.py: No such file or directory
21:09~/Desktop/HI/NSN/Polls > python django-admin.py startproject mysite
python: can't open file 'django-admin.py': [Errno 2] No such file or directory
21:09~/Desktop/HI/NSN/Polls > /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py startproject prufa1
-bash: /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py: /opt/local/bin: bad interpreter: Permission denied
21:09~/Desktop/HI/NSN/Polls > sudo /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py startproject prufa1Password:
sudo: unable to execute /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py: Permission denied
21:09~/Desktop/HI/NSN/Polls > sudo /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py startproject prufa1sudo: unable to execute /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py: Permission denied
21:09~/Desktop/HI/NSN/Polls > python /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py startproject prufa1
21:09~/Desktop/HI/NSN/Polls > ls
mysite prufa1

Окончательное редактирование: проблема решена, правильное решение см. В ответе Яна С. Спасибо всем за помощь, это было очень быстро!

4 ответа4

3

Есть немного более общая версия hashbang @Matt Jenkins (!#) Подсказка, которую вы можете использовать, чтобы сделать скрипт немного более переносимым. Убедитесь, что первая строка в файле:

#!/usr/bin/env python
...everything else...

Это говорит: «найдите программу с именем python поиск в моем PATH и запустите остальную часть этого сценария с этой программой».

Вам также необходимо установить бит выполнения в скрипте с помощью:

chmod +x django-admin.py

Я упоминаю это для полноты, отмечая, что вы уже сделали это.

Наконец, переменная PATH самом деле не содержит . в нем (текущий рабочий каталог). Это мера предосторожности, и я не рекомендую изменять эту настройку (она не позволяет вам звонить ./rm когда вы имели в виду rm оболочки, например). Так что вам нужно вызвать скрипт с:

 ./django-admin.py startproject mysite

Это говорит «ищите в текущем рабочем каталоге django-admin.py» вместо «ищите переменную PATH », что и происходит, если вы пропустите ./ часть.

1

Первая строка в файле должна содержать программу, которая запускает скрипт с префиксом #! (известный как hashbang)

Например:

#!/path/to/python
...python code follows...

Затем вы можете установить исполняемый бит в файле, и оболочка будет интерпретировать его как скрипт, используя программу, найденную в первой строке в качестве интерпретатора.

Это часто используется со сценариями оболочки, например:

#!/bin/sh

for FILE in `ls`
{
    echo "Filename: ${FILE}"
}
0
  1. Выберите файл в Finder , щелкнув его один раз.

  2. В меню « Файл» выберите « Информация».

  3. В информационном окне щелкните треугольник рядом с « Открыть с помощью », чтобы развернуть этот раздел окна.

  4. В раскрывающемся меню выберите приложение, которое вы хотите использовать для открытия файла.

- Источник: Университет Индианы - КБ: Как назначить приложение для открытия файлов определенных типов?

0

Когда вы изменяете права доступа к файлу django-admin.py, вы должны написать это:

sudo chmod +x django-admin.py

Работает для меня

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .