Python Django源代码赢得';无法在服务器上更新

Python Django源代码赢得';无法在服务器上更新,python,django,apache,wsgi,Python,Django,Apache,Wsgi,我有一个Django网站正在运行,我对源代码所做的任何更新都不会更新 (我更改文件的原因是因为有一行代码正在生成错误。奇怪的是,我注释掉了导致错误的这行代码,但代码仍然运行,因此仍然导致错误。在django.log中,它仍然显示了导致错误的那行代码,但现在也显示了注释掉的代码。因此错误日志显示我的新源代码,但应用程序本身没有执行新代码) 我是Django的新手,所以我真的不知道这里发生了什么(不是我的网站,我是为了工作才被投入这个项目的。) 为此,我已经尝试重新启动apache: $sudo a

我有一个Django网站正在运行,我对源代码所做的任何更新都不会更新

(我更改文件的原因是因为有一行代码正在生成错误。奇怪的是,我注释掉了导致错误的这行代码,但代码仍然运行,因此仍然导致错误。在
django.log
中,它仍然显示了导致错误的那行代码,但现在也显示了注释掉的代码。因此错误日志显示我的新源代码,但应用程序本身没有执行新代码)

我是Django的新手,所以我真的不知道这里发生了什么(不是我的网站,我是为了工作才被投入这个项目的。)

为此,我已经尝试重新启动apache:

$sudo apachectl重新启动

$sudo服务apache2重启

我还尝试触摸了
wsgi.py
文件:

$touch wsgi.py

我甚至删除了
.pyc
文件。没有任何效果,旧代码行仍然在执行,尽管日志显示它被注释掉了


不确定还有什么地方要检查,或者我还缺少什么。

无论您使用哪种服务,都要执行完全停止和完全启动(即,不只是重新启动)


如果您使用的是uwsgi或gunicorn,则必须对它们执行相同的操作。在发出
restart
时,某些初始化脚本不会重新启动主辅助进程,这可能会导致文件的缓存编译版本仍然驻留在内存中(代码不正确).

在@2ps的帮助下,我能够解决我的问题。当我试图阻止Apache时,该网站仍处于运行状态

我意识到这个网站还有另一个IP地址,所以我猜第一个必须重定向到第二个

不管怎样,我在另一个IP地址重新打开了SSH,重新启动了Apache,源代码立即更新

更新:

根据@VidyaSagar的请求,我提供了更多信息,因为这似乎是Django的一个奇怪的侥幸。我的操作是某行代码导致了一个错误。我注释掉了这行代码,删除了
.pyc
文件,并重新启动了Apache。发生了另一个错误(正如代码所预期的那样)因此,我将这一行的注释恢复到以前的状态,再次删除
.pyc
并重新启动Apache,系统正常工作。Django似乎只是想让我重新编译该文件

Django版本:1.7.4

django.log的回溯

ERROR Internal Server Error: /upload/
Traceback (most recent call last):
  File "/home/company/app/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/company/app/app/geo_app/views.py", line 306, in upload
    shutil.make_archive(kml_dir, 'zip', root_dir=kml_dir)
  File "/usr/lib/python2.7/shutil.py", line 521, in make_archive
    save_cwd = os.getcwd()
OSError: [Errno 2] No such file or directory

ERROR Internal Server Error: /upload/
Traceback (most recent call last):
  File "/home/company/app/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/company/app/app/geo_app/views.py", line 306, in upload
    # shutil.make_archive(kml_dir, 'zip', root_dir=kml_dir)
  File "/usr/lib/python2.7/shutil.py", line 521, in make_archive
    save_cwd = os.getcwd()
OSError: [Errno 2] No such file or directory

对于使用cPanel的用户,如果您在“安装Python应用程序”下单击“重新启动”,它应该会更新。为我保存了大约5次。

您是使用mod_wsgi For apache运行Django,还是使用uwsgi或gunicorn(在apache后面)运行Django?如果是后者,请确保您也正在重新启动该进程。它在运行什么,是本地的还是在生产中?@JoeJ我不知道。我应该在哪里检查它,或者我如何知道?@bigmonkey89 with aleg it'sonline@amallard如果您执行“ps-ef”,您可能会看到“uwsgi”或“gunicorn”是其中一个进程(与apache分离)如果您正在使用uwsgi,重新启动的方式可能会有所不同
ERROR Internal Server Error: /upload/
Traceback (most recent call last):
  File "/home/company/app/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/company/app/app/geo_app/views.py", line 306, in upload
    shutil.make_archive(kml_dir, 'zip', root_dir=kml_dir)
  File "/usr/lib/python2.7/shutil.py", line 521, in make_archive
    save_cwd = os.getcwd()
OSError: [Errno 2] No such file or directory

ERROR Internal Server Error: /upload/
Traceback (most recent call last):
  File "/home/company/app/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/company/app/app/geo_app/views.py", line 306, in upload
    # shutil.make_archive(kml_dir, 'zip', root_dir=kml_dir)
  File "/usr/lib/python2.7/shutil.py", line 521, in make_archive
    save_cwd = os.getcwd()
OSError: [Errno 2] No such file or directory