Windows 上 AppEngine 的 django-nonrel
django-nonrel for AppEngine on Windows
我遇到了一些本应相对简单的事情——在 Windows 机器上启动 django-nonrel 项目。我已经从 http://djangoappengine.readthedocs.org/en/latest/installation.html 下载并解压缩了所需的文件,将所需的模块添加到我的项目根文件夹 C:\djangoapp 中,这样文件夹层次结构是(注意每个模块都包含正确的文件,并且已被省略为了简洁起见)
djangoapp/
autoload/
dbindexer/
django/
djangoappengine/
djangotoolbox/
现在,当我 cd 进入 C:\djangoapp 时,我需要知道 运行 的命令。给定的命令:
PYTHONPATH=. python django/bin/django-admin.py startproject \
--name=app.yaml --template=djangoappengine/conf/project_template myapp .
适用于 *NIX OS,显然不适用于 Windows。简单地做,
python django/bin/django-admin.py startproject \
--name=app.yaml --template=djangoappengine/conf/project_template myapp
returns 这个错误:
Traceback (most recent call last):
File "django/bin/django-admin.py", line 2, in <module>
from django.core import management
ImportError: No module named django.core
显然 PYTHONPATH 存在问题,因为给定的 Unix 命令以 PYTHONPATH= 开头。我将如何在 Windows 框上执行等效项以启动 django-nonrel 并 运行ning?提前致谢!
P.S。只是为了学习,有人可以分解给定的 unix 命令,就句点和反斜杠的作用而言。再次感谢!
****** 根据回答更新 *******
非常感谢,尼克!您回答了我问题的每一部分,并且解决方案非常有效。不幸的是下一步,
python manage.py runserver
运行 变成 st运行ge 错误:
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\testbed\__init__.py", line 585, in init_images_stub
raise StubNotSupportedError(msg)
google.appengine.ext.testbed.StubNotSupportedError: Could not initialize images API; you are likely missing the Python "PIL" module.
显然不是正确的解决方案,但我只是转到文件位置并注释掉处理图像存根的相关块,服务器启动正常。如果有人知道实际的解决方案,请在我进一步研究时告诉我!
再次感谢
原命令中,PYTHONPATH=.
是将环境变量PYTHONPATH
设置为.
,这是当前目录的特殊符号。我认为 windows CMD 中存在 env vars 和当前目录的特殊符号,尽管这种特殊语法不会翻译。特殊的点字符也用在命令的末尾,在 myapp
之后。
这意味着 python path 将包含当前目录,解释器将在当前目录中查找引用的模块。
反斜杠刚好用在换行符之前,以免干扰命令的解释。
在 Internet 的其他地方(例如 this SO question),您可以找到有关如何在 windows CMD 上下文中设置环境变量的示例。
windows中的当前目录符号是%CD%
。
在linux中,您可以在与另一个命令相同的行中设置环境变量,但在windows中,您需要将其设置为主命令之前的命令。
在 windows 中,您可能需要制作一个 .cmd
文件并使其包含:
set PYTHONPATH=%CD%
python django/bin/django-admin.py startproject --name=app.yaml --template=djangoappengine/conf/project_template myapp %CD%
我遇到了一些本应相对简单的事情——在 Windows 机器上启动 django-nonrel 项目。我已经从 http://djangoappengine.readthedocs.org/en/latest/installation.html 下载并解压缩了所需的文件,将所需的模块添加到我的项目根文件夹 C:\djangoapp 中,这样文件夹层次结构是(注意每个模块都包含正确的文件,并且已被省略为了简洁起见)
djangoapp/
autoload/
dbindexer/
django/
djangoappengine/
djangotoolbox/
现在,当我 cd 进入 C:\djangoapp 时,我需要知道 运行 的命令。给定的命令:
PYTHONPATH=. python django/bin/django-admin.py startproject \
--name=app.yaml --template=djangoappengine/conf/project_template myapp .
适用于 *NIX OS,显然不适用于 Windows。简单地做,
python django/bin/django-admin.py startproject \
--name=app.yaml --template=djangoappengine/conf/project_template myapp
returns 这个错误:
Traceback (most recent call last):
File "django/bin/django-admin.py", line 2, in <module>
from django.core import management
ImportError: No module named django.core
显然 PYTHONPATH 存在问题,因为给定的 Unix 命令以 PYTHONPATH= 开头。我将如何在 Windows 框上执行等效项以启动 django-nonrel 并 运行ning?提前致谢!
P.S。只是为了学习,有人可以分解给定的 unix 命令,就句点和反斜杠的作用而言。再次感谢!
****** 根据回答更新 *******
非常感谢,尼克!您回答了我问题的每一部分,并且解决方案非常有效。不幸的是下一步,
python manage.py runserver
运行 变成 st运行ge 错误:
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\testbed\__init__.py", line 585, in init_images_stub
raise StubNotSupportedError(msg)
google.appengine.ext.testbed.StubNotSupportedError: Could not initialize images API; you are likely missing the Python "PIL" module.
显然不是正确的解决方案,但我只是转到文件位置并注释掉处理图像存根的相关块,服务器启动正常。如果有人知道实际的解决方案,请在我进一步研究时告诉我!
再次感谢
原命令中,PYTHONPATH=.
是将环境变量PYTHONPATH
设置为.
,这是当前目录的特殊符号。我认为 windows CMD 中存在 env vars 和当前目录的特殊符号,尽管这种特殊语法不会翻译。特殊的点字符也用在命令的末尾,在 myapp
之后。
这意味着 python path 将包含当前目录,解释器将在当前目录中查找引用的模块。
反斜杠刚好用在换行符之前,以免干扰命令的解释。
在 Internet 的其他地方(例如 this SO question),您可以找到有关如何在 windows CMD 上下文中设置环境变量的示例。
windows中的当前目录符号是%CD%
。
在linux中,您可以在与另一个命令相同的行中设置环境变量,但在windows中,您需要将其设置为主命令之前的命令。
在 windows 中,您可能需要制作一个 .cmd
文件并使其包含:
set PYTHONPATH=%CD%
python django/bin/django-admin.py startproject --name=app.yaml --template=djangoappengine/conf/project_template myapp %CD%