小编Mar*_*uiz的帖子

Intellij/Pycharm无法调试Python模块

我使用PyCharm/IntelliJ社区版本来编写和调试Python脚本,但现在我正在尝试调试Python模块,而PyCharm执行错误的命令行指令解析,导致执行错误,或者我正在制作配置错误.

这是我的运行/调试配置:

IntelliJ运行/调试Python模块配置

这是在我运行模块时执行的(这里没有问题):

/usr/bin/python3.4 -m histraw
Run Code Online (Sandbox Code Playgroud)

但是当我调试时,这是IntelliJ控制台中的输出:

/usr/bin/python3.4 -m /opt/apps/pycharm/helpers/pydev/pydevd.py --multiproc --client 127.0.0.1 --port 57851 --file histraw
/usr/bin/python3.4: Error while finding spec for '/opt/apps/pycharm/helpers/pydev/pydevd.py' (<class 'ImportError'>: No module named '/opt/apps/pycharm/helpers/pydev/pydevd')

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

如您所见,参数分析错误,并且在-m选项之后,在模块名称之前传递IntelliJ调试脚本.

我也试过只是把-m histraw脚本领域,但不工作,那场只是把Python脚本路径,而不是模块.

有任何想法吗?

python debugging python-module intellij-idea pycharm

16
推荐指数
2
解决办法
7288
查看次数

以同步方式获取 Javascript Promise 的值

我需要以同步方式获取 Javascript Promise对象的值。

我知道在 Javascript 中Promise对象是如何工作的,它的优点,以及如何then使用方法处理值,但是有一些用例,特别是 Node.js(但这也可能适用于浏览器引擎),你需要仅返回值,但您正在调用返回 Promise 对象的 API,并且您无法更改该 API 或使用者 API 的签名。

例如,在 Java 语言中,您有一个get()方法,允许您在必要时等待完成操作(阻止执行),然后返回其结果。即使您get(timeout,unit)在启动前等待的时间最长,但TimeoutException如果等待超时。

我遇到的问题是这样的:

api1.setCallBackThatHasToReturnANoPromiseValue(
  function(p1, p2) {
    return api2.getPromisedValue(p1,p2)        // This returns a Promise
                                       .get()  // -> but something like this
                                               //    could get the value in a sync way
  }
);
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我是否可以通过异步编程解决这个问题吗?

不管我的具体问题可以用异步代码解决,有一种方法可以以同步方式获取 Promise 的值(我知道它会阻止执行和所有性能问题,请避免“bla bla.txt”)。 ..”)。

javascript node.js promise

5
推荐指数
1
解决办法
1万
查看次数