django - 尝试从 PyCharm 运行远程解释器的调试配置时出现语法错误

标签 django google-app-engine vagrant pycharm

我正在设置一个 Google App Engine Django 项目以在 Vagrant 环境中运行,以便轻松设置/拆卸系统,并使用 PyCharm 作为 IDE。我能够在远程机器上使用 PyCharm 成功地让服务器运行,但是如果我尝试使用远程调试器来启动调试 session ,PyCharm 会给我一个非描述性错误:

运行 webapp 时出错:无法运行远程 python 解释器:无法从输出中获取远程套接字,stderr 文件“”,第 1 行
进口
^
语法错误:无效语法

我将尝试尽可能多地包含有关设置的信息:

  • Windows 10 主机,Ubuntu 14.04 guest
  • Python 版本为 2.7.10
  • /home/vagrant/www/shell/python-su.sh设置为python解释器。只是将参数传递给 sudo /usr/bin/python $@使其在 vagrant/GAE 中工作
  • PyCharm 中的 GAE 目录设置为 /home/vagrant/google_appengine/使其在远程机器上工作
  • 这是我用于启动调试客户端的 PyCharm 配置设置的屏幕截图:PyCharm Configuration Settings

  • 所有这些都与我为运行配置所做的相匹配,并且工作正常。只有调试配置会引发此错误。

    最佳答案

    从 PyCharm 的帮助文档中,我找到了 this article详细说明如何打开更多日志记录到 PyCharm 日志文件。将此添加到位于 PyCharm Program Files 目录的/bin/目录中的 log.xml 文件中:

    <category name="#com.jetbrains.plugins.webDeployment">
        <priority value="DEBUG"/>
    </category>
    

    查看日志文件显示了它试图运行的命令,我可以通过 SSH-ing 运行到机器中自己运行它。从那里,我能够确定它来自我的 sudo python 文件。我不得不包装 $@在引号中以使其正常工作。运行是有效的,因为参数足够简单,它没有被引用并不重要。最终的 python sudo shell 文件如下所示:
    sudo /usr/bin/python "$@"
    

    关于django - 尝试从 PyCharm 运行远程解释器的调试配置时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33529432/

    相关文章:

    java - 使用 Java 从 Python GAE 数据存储访问数据

    django - 请求之间的 Form/ModelForm 实例

    python - ImproperlyConfigured ("settings.DATABASES is improperly configured. ") 尝试设置 Django 时出错

    java - GAE 存储到数据库但不显示在 View 上

    google-app-engine - 如何在使用 Google App Engine 时设置静态 IP 地址

    docker - vmware中 Vagrant 中的docker中的uwsgi-未创建套接字

    python - Django Forms 默认选择动态循环前面的值

    mysql - 使用外键和 Django 更新 MySQL 数据库

    networking - Vagrant 无法转发此 VM 上的指定端口

    vagrant - Puppet 文件资源需要存档资源