Windows 10运行Google AppEngine Hello World遇权限拒绝错误求助
我之前在Windows上跑App Engine的Hello World示例时也碰到过类似的权限报错,给你几个实用的解决办法,你可以逐一尝试:
检查目标文件的权限设置
找到报错里提到的select.pyd文件所在的路径C:\Users\Allen\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\DLLs\,右键点击这个文件夹选择「属性」→「安全」选项卡,点击「编辑」,给你的用户账号(或者「Everyone」)添加「读取和执行」「完全控制」的权限,应用设置后再重新运行命令。切换到系统本地Python运行dev_appserver.py
Cloud SDK自带的捆绑Python有时候在Windows上会有兼容性或权限问题。如果你本地已经安装了符合App Engine要求的Python版本(比如Python 2.7针对旧版App Engine,Python 3.x针对新版),可以直接指定用系统Python来运行脚本:python "C:\Users\Allen\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py" app.yaml也可以调整环境变量的优先级,把系统Python的路径移到Cloud SDK捆绑Python路径的前面,这样CMD会优先调用系统Python。
重新安装Cloud SDK(选择当前用户模式)
有时候安装过程中文件损坏或者权限配置出错,你可以先卸载现有Cloud SDK,然后下载最新版本,安装时选择「为当前用户安装」(不要选「所有用户」,避免系统级权限限制),并且把安装路径改到非系统盘(比如D盘),这样后续运行时权限问题会少很多。临时关闭安全软件测试
Windows Defender或者第三方杀毒软件可能会误拦截Cloud SDK的文件访问。你可以暂时关闭实时保护功能,然后重新运行dev_appserver.py app.yaml,如果能正常运行,记得把Cloud SDK的整个文件夹添加到安全软件的信任列表里。换用PowerShell执行命令
有时候命令提示符(CMD)的权限处理会有异常,你可以尝试以管理员身份打开PowerShell,然后执行同样的命令,看看是否能绕过权限问题。
内容的提问来源于stack exchange,提问作者AltShift

