小编spa*_*ing的帖子

multiprocessing.Pool:map_async和imap有什么区别?

我想学习如何使用Python的multiprocessing包,但我不明白之间的差别map_asyncimap.我注意到,这两个map_asyncimap是异步执行的.那我什么时候应该使用另一个呢?我应该如何检索返回的结果map_async

我应该使用这样的东西吗?

def test():
    result = pool.map_async()
    pool.close()
    pool.join()
    return result.get()

result=test()
for i in result:
    print i
Run Code Online (Sandbox Code Playgroud)

python multiprocessing python-multiprocessing

157
推荐指数
2
解决办法
7万
查看次数

不懂纱线检查警告

当我跑步时,yarn check我得到了这个警告:

 warning "\u001b[2mchokidar#\u001b[22mfsevents#node-pre-gyp@^0.6.29"
 could be deduped from "0.6.32" to "node-pre-gyp@0.6.32"
Run Code Online (Sandbox Code Playgroud)

请有人帮我理解这个吗?

  • 我不知道这个词deduped是什么意思.
  • 为什么警告信息中有这么多垃圾字符?
  • 我该怎么办才能解决这个警告?

非常感谢!

javascript node.js npm yarnpkg

18
推荐指数
1
解决办法
2950
查看次数

Cython:使用API​​嵌入Cython到C的分段错误

我试图在O'reilly Cython第8章之后将Cython代码嵌入到C中.我在Cython的文档中找到了这一段,但仍然不知道该怎么做:

如果想要使用这些函数的C代码是多个共享库或可执行文件的一部分,则需要在使用这些函数的每个共享库中调用import_modulename()函数.如果在调用其中一个api调用时遇到分段错误(linux上的SIGSEGV)崩溃,这可能表明包含生成分段错误的api调用的共享库之前没有调用import_modulename()函数崩溃的api电话.

我在OS X上运行Python 3.4,Cython 0.23和GCC 5.源代码是transcendentals.pyxmain.c:

main.c

#include "transcendentals_api.h"
#include <math.h>
#include <stdio.h>

int main(int argc, char **argv)
{
  Py_SetPythonHome(L"/Users/spacegoing/anaconda");
  Py_Initialize();
  import_transcendentals();
  printf("pi**e: %f\n", pow(get_pi(), get_e()));

  Py_Finalize();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

transcendentals.pyx

cdef api double get_pi():
    return 3.1415926

cdef api double get_e():
    print("calling get_e()")
    return 2.718281828
Run Code Online (Sandbox Code Playgroud)

我正在使用setup.py和编译这些文件Makefile:

setup.py:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

setup(
    ext_modules=cythonize([
        Extension("transcendentals", ["transcendentals.pyx"])
    ])
) …
Run Code Online (Sandbox Code Playgroud)

python cython

7
推荐指数
1
解决办法
1153
查看次数

Psql Docker:无法连接到服务器:没有这样的文件或目录

我使用以下命令创建了一个容器:

docker run -itd --name jkdb -e POSTGRES_PASSWORD=123 -v /home/lchang/jkrug/data:/var/lib/postgresql/data -p 5532:5432 -d postgres
Run Code Online (Sandbox Code Playgroud)

我检查了容器,psql 确实在容器中监听了 5432。

但是,当我尝试通过以下命令从主机连接时,出现错误:

psql -p 5532 -U postgres
psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5532"?
Run Code Online (Sandbox Code Playgroud)

我搜索了很多帖子,但没有一个与我的案例相同。任何的想法?谢谢!

postgresql psql docker

7
推荐指数
1
解决办法
4585
查看次数

Pycharm:如何在python控制台中使用绿色的“附加调试器”按钮

我想知道如何使用python控制台左侧的绿色bug按钮。我已经被搜索过官方文件,但是似乎没有此按钮的描述。请注意,我要的是左侧的按钮,而不是右上角的按钮。

我正在使用Ipython控制台,发现%debug魔术不再可用。我想知道该按钮的用法以及如何%debug在Ipython控制台中使用魔术。

非常感谢! 在此处输入图片说明

python pycharm

6
推荐指数
1
解决办法
903
查看次数

Python3:print(somestring,end ='\ r',flush = True)没有显示任何内容

我正在编写一个进度条,如何为命令行设置动画?提示.我使用Pycharm并在运行工具窗口中运行此文件.

import time
def show_Remaining_Time(time_delta):
    print('Time Remaining: %d' % time_delta, end='\r', flush=True)

if __name__ == '__main__':
    count = 0
    while True:
        show_Remaining_Time(count)
        count += 1
        time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

但是,如果我运行此.py文件,代码将不显示任何内容.我究竟做错了什么?


我试过Jogger的建议,但是如果我使用print函数它仍然无法正常工作.

但是,以下脚本按预期工作.

import time
import sys
def show_Remaining_Time(time_delta):
    sys.stdout.write('\rtime: %d' % time_delta) # Doesn't work if I use 'time: %d\r'
    sys.stdout.flush()
if __name__ == '__main__':
    count = 0
    while True:
        show_Remaining_Time(count)
        count += 1
        time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

我现在有两个问题:

  1. 为什么stdout工作但print()没有.

  2. 为什么如何设置命令行的动画?建议追加\r到最后我必须在我的情况下开始写它?

python pycharm python-3.4

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

Anaconda在Linux上安装Matlab Engine

我正在尝试Matlab Engine for Python使用anaconda python 3.4在CentOS 7 上安装Matlab R2016a.

我执行了以下命令:

source activate py34 # Default is python 3.5
python setup.py install
Run Code Online (Sandbox Code Playgroud)

输出是:

running install
running build
running build_py
running install_lib
creating /root/.local/lib/python2.7/site-packages/matlab
creating /root/.local/lib/python2.7/site-packages/matlab/_internal
copying build/lib/matlab/_internal/mlarray_sequence.py -> /root/.local/lib/python2.7/site-packages/matlab/_internal
copying build/lib/matlab/_internal/__init__.py -> /root/.local/lib/python2.7/site-packages/matlab/_internal
copying build/lib/matlab/_internal/mlarray_utils.py -> /root/.local/lib/python2.7/site-packages/matlab/_internal
copying build/lib/matlab/mlarray.py -> /root/.local/lib/python2.7/site-packages/matlab
creating /root/.local/lib/python2.7/site-packages/matlab/engine
copying build/lib/matlab/engine/engineerror.py -> /root/.local/lib/python2.7/site-packages/matlab/engine
copying build/lib/matlab/engine/futureresult.py -> /root/.local/lib/python2.7/site-packages/matlab/engine
copying build/lib/matlab/engine/fevalfuture.py -> /root/.local/lib/python2.7/site-packages/matlab/engine
copying build/lib/matlab/engine/basefuture.py -> /root/.local/lib/python2.7/site-packages/matlab/engine
copying build/lib/matlab/engine/matlabengine.py -> /root/.local/lib/python2.7/site-packages/matlab/engine
copying build/lib/matlab/engine/__init__.py -> /root/.local/lib/python2.7/site-packages/matlab/engine
copying build/lib/matlab/engine/enginesession.py …
Run Code Online (Sandbox Code Playgroud)

python matlab anaconda

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

Emacs Helm:我可以在 helm 缓冲区中执行哪些操作?

我有两个问题:

  • 在像helm minior 之类的舵缓冲区中helm ag,通常有太多的候选人。在evil模式下,我可以使用C-dC-u向下或向上滚动。我可以在舵缓冲区中做这样的事情吗?

  • 有时,当我输入文件路径/名称时,缓冲区中只有一个默认值,而不是我输入的那个。每当我点击enter默认路径/文件时都会被访问。我可以在输入栏中(您输入字符的地方)执行哪些操作?

你能提供描述这些键盘映射的文件吗?我找不到他们,因为我不知道我的问题是什么:(

emacs spacemacs emacs-helm

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

MySQL float 类型范围和精度混淆

我正在学习 MySQL,并且对float的范围和精度有疑问。

手册中:

对于 FLOAT,SQL 标准允许在括号中的关键字 FLOAT 后面以位为单位指定精度(但不是指数范围)。MySQL 也支持这种可选的精度规范,但精度值仅用于确定存储大小。0 到 23 之间的精度会产生 4 字节单精度 FLOAT 列。24 到 53 的精度会产生 8 字节双精度 DOUBLE 列。

我使用这个命令创建了一个表

create table test (f_a float(23));
Run Code Online (Sandbox Code Playgroud)

我有4个困惑:

  1. but not the range of the exponent手册中的是什么意思?
  2. 我可以insert into test values (1e38);毫无问题地执行。即使我输入38数字它仍然有效。但39数字还是1e39会失败。那么这有什么意义呢38
  3. 如何检查 的类型转换f_a?当我执行时,即使我在该列中插入了一个数字,desc test;类型f_a仍然是。float38
  4. 那么,射程精度到底有什么区别呢?

mysql floating-point

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

PHP后期静态绑定范围混乱

从PHP mannual第二段开始,它说:

static ::介绍其范围.

我相应地尝试了以下示例:

class Father {
    public function test(){
        echo static::$a;
    }
}

class Son extends Father{
    protected static $a='static forward scope';
    public function test(){
        parent::test();
    }
}

$son = new Son();
$son->test(); // print "static forward scope"
Run Code Online (Sandbox Code Playgroud)

它按照描述工作.但是,以下示例将引发致命错误:

class Father {
    public function test(){
        echo static::$a;
    }
}

class Son extends Father{
    private static $a='static forward scope';
    public function test(){
        parent::test();
    }
}

// print "Fatal erro: Cannot access private property Son::$a"
$son = new Son(); …
Run Code Online (Sandbox Code Playgroud)

php

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