'您好世界与用appengine继续:ctypes'

2024-10-03 11:12:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在appengine上部署go应用程序,并遵循以下教程: https://developers.google.com/appengine/docs/go/gettingstarted/helloworld?hl=de

但是dev_appserver.py gopath/myapp/导致了这个奇怪的错误消息:

C:\Users\praktikant\Desktop\google_appengine>dev_appserver.py gopath/myapp/
INFO     2013-07-16 10:43:17,565 sdk_update_checker.py:244] Checking for updates
 to the SDK.
INFO     2013-07-16 10:43:18,779 sdk_update_checker.py:288] This SDK release is
newer than the advertised release.
WARNING  2013-07-16 10:43:18,799 api_server.py:314] Could not initialize images
API; you are likely missing the Python "PIL" module.
INFO     2013-07-16 10:43:18,815 api_server.py:138] Starting API server at: http
://localhost:51413
INFO     2013-07-16 10:43:18,825 api_server.py:509] Applying all pending transac
tions and saving the datastore
INFO     2013-07-16 10:43:18,828 api_server.py:512] Saving search indexes
Traceback (most recent call last):
  File "C:\Users\praktikant\Desktop\google_appengine\dev_appserver.py", line 182
, in <module>
    _run_file(__file__, globals())
  File "C:\Users\praktikant\Desktop\google_appengine\dev_appserver.py", line 178
, in _run_file
    execfile(script_path, globals_)
  File "C:\Users\praktikant\Desktop\google_appengine\google\appengine\tools\deva
ppserver2\devappserver2.py", line 695, in <module>
    main()
  File "C:\Users\praktikant\Desktop\google_appengine\google\appengine\tools\deva
ppserver2\devappserver2.py", line 688, in main
    dev_server.start(options)
  File "C:\Users\praktikant\Desktop\google_appengine\google\appengine\tools\deva
ppserver2\devappserver2.py", line 663, in start
    self._dispatcher.start(apis.port, request_data)
  File "C:\Users\praktikant\Desktop\google_appengine\google\appengine\tools\deva
ppserver2\dispatcher.py", line 161, in start
    servr.start()
  File "C:\Users\praktikant\Desktop\google_appengine\google\appengine\tools\deva
ppserver2\server.py", line 936, in start
    self._watcher.start()
  File "C:\Users\praktikant\Desktop\google_appengine\google\appengine\tools\deva
ppserver2\file_watcher.py", line 37, in start
    watcher.start()
  File "C:\Users\praktikant\Desktop\google_appengine\google\appengine\tools\deva
ppserver2\win32_file_watcher.py", line 74, in start
    raise ctypes.WinError()
WindowsError: [Error 6] The handle is invalid

我的系统是Windows7,64位。我下载并解压了googleappenginesdkforgo版本1.8.1 64位。在sdk的目录和文件夹中创建gozipped并设置变量。我的Python是2.7.5 64位的。在

错误消息听起来像是与python有关的,我在stackoverflow上发现了这个问题:Windows Error in Google App Engine

关于stackoverflow的普遍共识是gae版本1.7.6有一些缺陷,公认的答案是建议降级到1.7.5。在

但现在的版本是1.8.1。这是一个尚未修复的错误,还是我的配置有问题?如果问题与我的配置有关,我如何解决它?在

更新: 更新检查器将打印我使用的sdk版本比公布的版本更新的信息。我从这里下载了sdk:https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Go

为什么谷歌服务器上的版本比广告中的版本更新,我也很困惑。在


Tags: inpy版本servergooglelinetoolsstart
3条回答

鉴于GOPATH和GOROOT是环境变量,那么dev_appserver.py gopath/myapp/不应该是dev_appserver.py "%GOPATH%/myapp/"?在

确保您已经创建了所需的文件夹binpkg,最重要的是在GOPATH文件夹中创建了src文件夹,因为这是dev文件夹_应用服务器.py正在尝试在上设置文件监视程序,如果它不存在,则会出现此错误。在

你提到你已经将GOPATH设置为SDK中的GOPATH文件夹,但是默认情况下该文件夹是空的,所以我认为这可能是你的问题所在。在

如果不行,我会找到解决办法的

在文件中

C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\sandbox.py

添加:

_WHITE_LIST_C_MODULES = [ 'msvcrt', #added by me for local host compatibility '_ctypes', 'ctypes', #end

这帮我解决ctypes问题

相关问题 更多 >