【问题标题】:FileNotFoundError: [WinError 2] The system cannot find the file specified: 'manage.py' IN PYTHON/DJANGOFileNotFoundError: [WinError 2] 系统找不到指定的文件:'manage.py' IN PYTHON/DJANGO
【发布时间】:2017-06-28 18:42:06
【问题描述】:

我在后台运行的线程中使用了以下代码。

os.chdir("MEDIA/" + str(email) + "/" + str(id) + "/")
os.system("rscript DataSet.R " + str(filename) + " >>logfile.log")
os.chdir(settings.BASE_DIR)

每当我运行我的服务器时,有时都会出现此错误。我不知道这里有什么问题。大多数情况下,代码都有效。我必须使用 chdir 来运行我的 R 脚本。

    Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\core\management\__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\core\management\__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\core\management\commands\runserver.py", line 62, in execute
    super(Command, self).execute(*args, **options)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\core\management\commands\runserver.py", line 101, in handle
    self.run(**options)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\core\management\commands\runserver.py", line 110, in run
    autoreload.main(self.inner_run, None, options)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\utils\autoreload.py", line 332, in main
    reloader(wrapped_main_func, args, kwargs)
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\utils\autoreload.py", line 298, in python_reloader
    reloader_thread()
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\utils\autoreload.py", line 276, in reloader_thread
    change = fn()
  File "C:\Users\MEXSON~1\Desktop\PROJEC~1\TOX2020\MAINWE~1\TOX202~1\lib\site-packages\django\utils\autoreload.py", line 206, in code_changed
    stat = os.stat(filename)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'manage.py'

【问题讨论】:

    标签: django python-2.7 django-models


    【解决方案1】:

    只需从您的脚本中删除以下代码,它就可以正常工作。 os.chdir(settings.BASE_DIR)

    否则, 将您的代码移动到不同的脚本中,然后导入该脚本文件。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您使用“runserver”来启动 Django。它有一个“自动重载”功能,可以检测代码更改然后自行重启。

      由于你更改了进程的目录,Django 不再在项目根目录下,所以它在django.utils.autoreload.gen_files 中生成的文件列表不计算了。

      简单的解决方法是使用subprocess 和fork,然后更改子目录。

      【讨论】:

        猜你喜欢
        • 2020-01-02
        • 1970-01-01
        • 1970-01-01
        • 2018-05-21
        • 1970-01-01
        • 1970-01-01
        • 2016-05-28
        • 1970-01-01
        • 2017-08-01
        相关资源
        最近更新 更多