将本地Django项目迁移到pythonanywhere时,运行manage.py时会抛出不正确的时区错误

问题描述 投票:0回答:1

我有一个运行良好的本地Django项目。我正在按照pythonanywhere(https://help.pythonanywhere.com/pages/DeployExistingDjangoProject/)的说明进行操作。我设置了virtualenv并确保我的Django版本匹配。

[当我到达运行./manage.py migrate的位置时,出现权限被拒绝的错误:bash: ./manage.py: Permission denied

如果我改为尝试运行python3 manage.py migrate,则会收到时区设置错误

Bash控制台输出

(Tooling-virtualenv) 09:31 ~/Tooling/Tooling (master)$ python3 manage.py migrate
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/core/management/__init__.py", line 325, in execute
    settings.INSTALLED_APPS
  File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/conf/__init__.py", line 66, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/conf/__init__.py", line 189, in __init__
    raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE)
ValueError: Incorrect timezone setting: America\Los_Angeles

pythonanywhere错误日志

2019-11-26 01:20:11,190: Error running WSGI application
2019-11-26 01:20:11,200: ValueError: Incorrect timezone setting: America\Los_Angeles
2019-11-26 01:20:11,200:   File "/var/www/username_pythonanywhere_com_wsgi.py", line 54, in <module>
2019-11-26 01:20:11,200:     application = get_wsgi_application()
2019-11-26 01:20:11,200: 
2019-11-26 01:20:11,200:   File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2019-11-26 01:20:11,200:     django.setup(set_prefix=False)
2019-11-26 01:20:11,201: 
2019-11-26 01:20:11,201:   File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/__init__.py", line 19, in setup
2019-11-26 01:20:11,201:     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2019-11-26 01:20:11,201: 
2019-11-26 01:20:11,201:   File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
2019-11-26 01:20:11,202:     self._setup(name)
2019-11-26 01:20:11,202: 
2019-11-26 01:20:11,202:   File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/conf/__init__.py", line 66, in _setup
2019-11-26 01:20:11,202:     self._wrapped = Settings(settings_module)
2019-11-26 01:20:11,202: 
2019-11-26 01:20:11,202:   File "/home/username/.virtualenvs/Tooling-virtualenv/lib/python3.7/site-packages/django/conf/__init__.py", line 189, in __init__
2019-11-26 01:20:11,203:     raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE)

我已经确认/ usr / share / zoneinfo下存在'America / Los_Angeles'。我尝试更改机壳,然后尝试更改为“美国/太平洋”。这些都没有产生任何不同的结果,我也将pythonanywhere时区更新为“ America / Los_Angeles”以匹配。

除了尝试从头开始我的Django项目并导入所需文件外,我无所适从。

python django pythonanywhere
1个回答
0
投票

我能够通过注释settings.py中的时区并将以下内容添加到我的WSGI顶部来解决此问题。

import time

os.environ["TZ"] = "America/Los_Angeles"
time.tzset()
© www.soinside.com 2019 - 2024. All rights reserved.