导入错误:没有名为concurrent.futures.process的模块。

67
我已按照如何使用valgrind检查Python中的内存泄漏中给出的步骤来检查我Python代码中的内存泄漏问题。我的Python源代码位于以下路径下:
/root/Test/ACD/atech

我已将上述路径添加到PYTHONPATH中。如果我使用位于/usr/bin/下的默认Python二进制文件运行代码,则一切正常。 我需要使用我手动构建的Python二进制文件来运行代码,该二进制文件位于以下位置

/home/abcd/workspace/python/bin/python

然后我遇到了以下错误

from concurrent.futures.process import ProcessPoolExecutor
ImportError: No module named concurrent.futures.process

我该如何解决这个问题?


PYTHONPATH应该包含模块所在的目录。您是否添加到PYTHONPATH或覆盖它了?建议您只添加,除非您有多个标准库模块的副本。 - cdarke
在设置PYTHONPATH之前,它是空的。我刚刚使用export命令给出了我的路径。 - Durgesh Tanuku
我尝试将 /usr/local/lib/python2.7/dist-packages/futures 添加到 PYTHONPATH 中,但现在我遇到了不同的错误: ImportError: /usr/local/lib/python2.7/dist-packages/lxml/etree.so: undefined symbol: PyUnicodeUCS4_DecodeLatin1 - Durgesh Tanuku
请尝试使用/usr/local/lib/python2.7/dist-packages/ - cdarke
已经尝试过了,但没有进展。 - Durgesh Tanuku
实际上,未定义的符号可能不是PYTHONPATH,看起来更像是库不兼容。很抱歉误导了您。请参见https://dev59.com/o2w15IYBdhLWcg3wIoRM。 - cdarke
1个回答

126

如果您正在使用Python 2.7,则必须安装此模块:

pip install futures

Python 2.x核心中从未包含期货特性,但它在Python 3.x自Python 3.2以来就存在。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接