Django API выдает ошибку "Нет такого файла или каталога: 'manage.py'" при запросе - PullRequest
0 голосов
/ 24 августа 2018

Это может показаться уже заданным вопросом, но я искал ответ уже неделю и ничего не получил. Проблема в том, что я разработал API с использованием Django, который размещен на сервере. Теперь, когда я запускаю следующую команду для запуска сервера:

python manage.py runserver 0.0.0.0:9000

Сервер запускается как обычно. Только когда я отправляю запрос на сервер через «Почтальон», я вижу следующую ошибку:

FileNotFoundError: [Errno 2] No such file or directory: 'manage.py'

Странно то, что при запуске сервера нет ошибки, а только когда я отправляю на него запрос. Кроме того, у меня есть еще много API Django, работающих на том же сервере с той же версией Python (Python 3.4.3) и той же виртуальной средой (но с другим портом), которые работают просто отлично.

Полная трассировка ошибок:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/core/management/__init__.py", line 365, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 61, in execute
    super().execute(*args, **options)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/core/management/base.py", line 335, in execute
    output = self.handle(*args, **options)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 98, in handle
    self.run(**options)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 105, in run
    autoreload.main(self.inner_run, None, options)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/utils/autoreload.py", line 317, in main
    python_reloader(wrapped_main_func, args, kwargs)
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/utils/autoreload.py", line 296, in python_reloader
    reloader_thread()
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/utils/autoreload.py", line 274, in reloader_thread
    change = fn()
  File "/home/ubuntu/py3env/lib/python3.4/site-packages/django/utils/autoreload.py", line 204, in code_changed
    stat = os.stat(filename)
FileNotFoundError: [Errno 2] No such file or directory: 'manage.py'

Вещи, которые я пробовал:

  • Я попытался изменить ! # , как предлагается в различных сообщениях.
  • Я пытался использовать dos2unix для преобразования файла в формат unix (сервер, на котором размещен мой API, основан на linux).
  • Я даже пытался создать новый проект Django.
  • И да, я запускаю manage.py из правильного каталога.
  • Я также попытался сделать файл manage.py исполняемым:

    chmod + x manage.py

Пока у меня ничего не получалось. Я что-то пропустил?

...