Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Python 当localhost运行时,如何解锁应用程序引擎数据库?_Python_Google App Engine_Localhost_Google Cloud Datastore - Fatal编程技术网

Python 当localhost运行时,如何解锁应用程序引擎数据库?

Python 当localhost运行时,如何解锁应用程序引擎数据库?,python,google-app-engine,localhost,google-cloud-datastore,Python,Google App Engine,Localhost,Google Cloud Datastore,现在,当localhost运行时,我会看到一个空白页面,但是部署的应用程序很好。日志显示“数据库已锁定”。如何为localhost“解锁”数据库?如果您正在运行多个dev_appserver实例,而没有为它们提供不同的数据存储文件/目录,则可能会发生这种情况。如果需要运行多个实例,请参阅dev_appserver.py--help并查看用于指定路径/文件的选项。我尝试了这一方法,并且成功了,我注意到当发生这种情况时,进程栏中有多个pythonw.exe进程在工作 转到命令提示符,运行以下命令 t

现在,当localhost运行时,我会看到一个空白页面,但是部署的应用程序很好。日志显示“数据库已锁定”。如何为localhost“解锁”数据库?

如果您正在运行多个dev_appserver实例,而没有为它们提供不同的数据存储文件/目录,则可能会发生这种情况。如果需要运行多个实例,请参阅dev_appserver.py--help并查看用于指定路径/文件的选项。

我尝试了这一方法,并且成功了,我注意到当发生这种情况时,进程栏中有多个pythonw.exe进程在工作

转到命令提示符,运行以下命令

taskkill /f /im pythonw.exe 

从应用程序启动器重新启动应用程序

Dave W.Smith的想法是正确的。我遇到了同样的问题,并且查看了需要为本地主机的每个实例设置不同的
--storage\u path='some/path'
的文档

从文档中:

 --storage_path PATH      path to the data (datastore, blobstore, etc.)

另外,必须设置不同的端口和
管理端口来运行这两个实例。

因此,您可以使用命令启动服务器,这应该是
在shell.sh-f-p 8xxx-a 8xxx中启动

务必在
-f
后面添加
-s
标志,如下所示:

在shell.sh-f-s-p8xxx-a8xxx中启动

有时,某个地方的一些意外错误会导致此问题。请记住,只保留一个带有此标志(
-s
)的实例,其他实例应像通常一样启动


这应该可以让它工作。

新手问题-我是如何运行多个dev_appserver实例的?我只为每个应用运行一个文件夹。在app engine sdk/google app engine launcher中是否有方法撤消此操作?在多个shell窗口中从命令行使用
dev_appserver
时,通常会发生这种情况。很抱歉,我对launcher没有什么经验,因为我是一个老派的命令行开发人员。我进入docs()并在命令行中尝试了dev_appserver.py--max_module_instances=1,它说我的参数太少了?你需要包括一个包含
app.yaml
的目录路径。(
如果你已经在那里就可以了。)我只需要
python.exe
,我必须以管理员模式打开。在Windows中,任务管理器显示python.exe任务的多个副本。杀死一个任务修复了它。更详细地说:当开发服务器启动时,它使用默认的数据存储,它会锁定该数据存储,因此其他开发服务器无法访问它,因此会显示消息。所以使用:
dev\u appserver.py./--port=--admin\u port=--storage\u path=
例如
dev\u appserver.py./--port=8001--admin\u port=8002--storage\u path=var/api
。使用
var/api
将在应用程序的文件结构中创建此路径。