Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么添加导出DJANGO_设置_模块=';myproject.settings';让bashrc不再工作?_Linux_Django_Celery_Django Celery - Fatal编程技术网

Linux 为什么添加导出DJANGO_设置_模块=';myproject.settings';让bashrc不再工作?

Linux 为什么添加导出DJANGO_设置_模块=';myproject.settings';让bashrc不再工作?,linux,django,celery,django-celery,Linux,Django,Celery,Django Celery,我有一个在linux机器(Debian)上运行的Django应用程序。在过去的一段时间里,该应用程序运行得非常完美。最近,在芹菜任务开始挂起并且清除任务没有达到预期效果后,我需要重新启动机器。当我现在尝试开始使用芹菜时 sudo celery -A myapp.tasks worker -Ofair 我收到了以下回溯 Traceback (most recent call last): File "/usr/local/bin/celery", line 9, in <module

我有一个在linux机器(Debian)上运行的Django应用程序。在过去的一段时间里,该应用程序运行得非常完美。最近,在芹菜任务开始挂起并且清除任务没有达到预期效果后,我需要重新启动机器。当我现在尝试开始使用芹菜时

sudo celery -A myapp.tasks worker -Ofair 
我收到了以下回溯

Traceback (most recent call last):
  File "/usr/local/bin/celery", line 9, in <module>
    load_entry_point('celery==3.1.11', 'console_scripts', 'celery')()
  File "/usr/local/lib/python2.7/dist-packages/celery/__main__.py", line 30, in main
    main()
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 81, in main
    cmd.execute_from_commandline(argv)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 769, in execute_from_commandline
    super(CeleryCommand, self).execute_from_commandline(argv)))
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 304, in execute_from_commandline
    argv = self.setup_app_from_commandline(argv)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 464, in setup_app_from_commandline
    self.app = self.find_app(app)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 484, in find_app
    return find_app(app, symbol_by_name=self.symbol_by_name)
  File "/usr/local/lib/python2.7/dist-packages/celery/app/utils.py", line 225, in find_app
    sym = imp(app)
  File "/usr/local/lib/python2.7/dist-packages/celery/utils/imports.py", line 101, in import_from_cwd
    return imp(module, package=package)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/this/gce_app/myapp/tasks.py", line 8, in <module>
    from django.views.decorators.csrf import csrf_exempt
  File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py", line 1, in <module>
    from django.middleware.csrf import CsrfViewMiddleware, get_token
  File "/usr/local/lib/python2.7/dist-packages/django/middleware/csrf.py", line 14, in <module>
    from django.utils.cache import patch_vary_headers
  File "/usr/local/lib/python2.7/dist-packages/django/utils/cache.py", line 26, in <module>
    from django.core.cache import get_cache
  File "/usr/local/lib/python2.7/dist-packages/django/core/cache/__init__.py", line 69, in <module>
    if DEFAULT_CACHE_ALIAS not in settings.CACHES:
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 54, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 47, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must
 either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing set
tings.

有没有办法让它再次工作?

您正在使用sudo启动芹菜,这意味着您正在以root用户身份运行,而不是您为其设置环境变量的用户。不要这样做-绝对没有理由用sudo运行守护进程


(与您的问题无关,但您也不应该将bashrc编辑为sudo。)

您使用sudo启动芹菜,这意味着您以root用户身份运行,而不是您为其设置环境变量的用户。不要这样做-绝对没有理由用sudo运行守护进程


(与您的问题无关,但您也不应该将bashrc编辑为sudo。)

如果有人想知道,因为我不得不想一想,sudo nano~/.bashrc中的~在调用sudo之前已展开,因此~仍然指原始用户,而不是根用户。Daniel-谢谢您,你完全正确!在sudo上运行相同的命令时没有遇到错误。你不知道我在这里发布之前花了多少时间来实现这个功能:万一有人想知道,因为我不得不想一想,
sudo nano~/.bashrc
中的~,你完全正确!在sudo上运行相同的命令时没有遇到错误。你不知道我在这里发布之前花了多少时间试图让它工作:s
sudo nano ~/.bashrc
export DJANGO_SETTINGS_MODULE='myproject.settings'