Python报错ModuleNotFoundError: No module named ‘concurrent‘

article/2025/8/23 14:26:04

在测试Python的多线程时,根据官方的说法,concurrent.futures在Python3中已经内置了,不需要下载安装,如果是Python2则需要运行pip install futures进行安装。。。

这样导入,两种写法均可

import concurrent.futures
# from concurrent import futures

但是,,,我是python3.7,竟然给我报出了下面的错误,我直接裂开

ModuleNotFoundError: No module named 'concurrent'

网上没找到解决方法,我一度怀疑我的python3没有内置这个东西,或者被误删了,然后打开阿里云windows服务器,上面装的是Python3.8,在VSCode上面跑了一下代码,报了其他错误,不过还是给了我很大惊喜

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\concurrent\futures\process.py", line 102, in _python_exit

它给我提示了concurrent.futures模块在哪个位置!顺藤摸瓜找到之后,对比了一下,发现在相同的路径我的电脑缺少了一个文件夹!难道是我误删了?

把concurrent文件夹拷贝到Python37\Lib下面,再次在本地运行代码,,哈哈,完美运行! 

# # concurrent是异步的线程、进程包
# submit(function,argument):调度函数(可调用的对象)的执行,将argument作为参数传入
# map(function,argument):将argument作为参数执行函数,以异步的方式
# from concurrent.futures import ThreadPoolExecutor(max_workers)    # 线程池
# from concurrent.futures import ProcessPoolExecutor(max_workers)   # 进程池
# max_workers 表示最多可并行执行多少任务
import concurrent.futures
# from concurrent import futures
import time
number_list=[i for i in range(1,11)]
def add_item(x):result=count(x)return result
def count(number):for i in range(0,10000000):i+=1return i*numberif __name__ == '__main__':# 单线程裸奔s=time.time()for item in number_list:print(add_item(item))print(time.time()-s)# 线程池执行CPU密集型任务s2=time.time()with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:futures=[executor.submit(add_item,item) for item in number_list]for future in concurrent.futures.as_completed(futures):print(future.result())print(time.time()-s2)# 进程池执行CPU密集型任务s3=time.time()with concurrent.futures.ProcessPoolExecutor(max_workers=5) as executor:futures=[executor.submit(add_item,item) for item in number_list]for future in concurrent.futures.as_completed(futures):print(future.result())print(time.time()-s3)

因为是计算密集型任务,多进程还是比多线程要快不少的,多线程适用于I/O密集型任务

最后我把concurrent文件夹压缩上传到了网盘里面,附上链接

https://kantlee.lanzous.com/ibvM6la55md


http://chatgpt.dhexx.cn/article/xJ7PCMCu.shtml

相关文章

go语言工具_Concurrent Map

Concurrent Map 背景 map是平时项目中经常用到的数据类型,但是如果多个协程去读写同一个map时,为了不发生数据错误,经常去将其和锁封装成一个新的map。像以下两种示例。 type LockMap struct { m map[interface{}]interface{} l…

C#线程安全队列ConcurrentQueue

ConcurrentQueue成员函数 入队(EnQueue) 、出队(TryDequeue) 、是否为空(IsEmpty)、获取队列内元素数量(Count)。 void Enqueue(T item) 入队函数,当队列已满时会自动增加队列容量。 bool TryDequeue(T* result) 尝试移除并返回并发队列开头处对象,…

项目优化>C++,concurrentqueue(高性能并发队列)

项目中的数据队列基于轮询和selep的实时性及CUP性能差,需要进行优化,尝试使用concurrentqueue进行优化。网上有一些资料介绍,可供参考。 使用后的个人理解:一个线程安全的queue,并且concurrentqueue的线程安全并不是一味的加锁,它…

ConcurrentMap

ConcurrentMap,它是一个接口,是一个能够支持并发访问的java.util.map集合; ConcurrentHashMap是一个线程安全,并且是一个高效的HashMap。 spring 缓存注解 通过查看源代码发现将数据存在ConcurrentMap中 1 Map并发集合 1.1 Co…

学习线程安全队列ConcurrentQueue

首先,基本使用:入队(EnQueue) 、出队(TryDequeue) 、是否为空(IsEmpty)、获取队列内元素数量(Count)。 一、ConcurrentQueue内部结构: 1.实现原理 众所周知,在普通的非线程安全队列有两种实现方式: 1.使用数组实现的循环队列。 2.使用链表实现的队列…

并发系列(六)-----concurrent的简单介绍

一 简介 concurrent包是jdk1.5引入的重要的包,主要代码由大牛Doug Lea完成。这个包下的一些类如果用好了可以很方便的保证数据在多线程下操作的正确性。就比如说线程共享的i,如果使用concurrent包下的Atomic系列类可以很方便的解决这个问题。这篇文章简单…

python并发之concurrent快速入门

导读:我很笨,但是我很快——计算机之所以计算能力如此出众,不在于其有多智能,而是因为它超快的执行速度,而多核心则可以进一步成倍的提高效率。在python中,concurrent库就是用于完成并发的模块之一。 01 初…

Java 并发工具包(concurrent)详解

目录 一、concurrent并发包 二、ReentrantLock(可重入锁) 1、锁状态中断与可重入 2、尝试非阻塞地获取锁 3、等待可中断 4、设置公平锁 三、CountDownLatch(门栓) 四、cyclicBarrier(栅栏) 五、…

JAVA中split函数的用法

JAVA中split函数的用法 只写经常使用的,并不完整。 1.基本用法,将字符串按照指定字符串进行分割,例如: public class Main {public static void main(String[] args) {String ss "abcabcdefg";String[] split ss.sp…

C语言实现split函数

实现类似JAVA编程语言中split函数: (这里以空格为分隔符进行演示) 函数的声明:void split(char *src,const char *separator,char **dest,int *num) {}变量: 1.*src:要进行分割的字符串地址, 2…

mysql实现自定义split函数

1、自定义split函数脚本 CREATE DEFINER root% FUNCTION tjdemo.fun_get_split_string_total(f_string varchar(1000),f_delimiter varchar(5)) RETURNS int(11) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT BEGIN declare returnInt int(11…

Oracle实现split函数

创建TYPE CREATE OR REPLACE TYPE TYPE_SPLIT AS TABLE OF VARCHAR2 (4000);创建函数 CREATE OR REPLACE FUNCTION SPLIT(P_STRING VARCHAR2, P_SEP VARCHAR2 : ,)RETURN TYPE_SPLITPIPELINED ISIDX PLS_INTEGER;V_STRING VARCHAR2(4000) : P_STRING; BEGINLOOPIDX : INSTR(…

java split函数的用法_java中split函数用法以及注意事项

java中split函数用法以及注意事项 发布时间:2020-04-23 10:28:23 来源:亿速云 阅读:215 作者:小新 本篇文章和大家了解一下java中split函数用法以及注意事项。有一定的参考价值,有需要的朋友可以参考一下,希…

mysql 创建函数 split_在mysql中实现split函数的几种方法

在mysql中实现split函数的几种方法 关注:98 答案:2 mip版 解决时间 2021-02-07 11:27 提问者夜落花台 2021-02-07 02:11 在mysql中实现split函数的几种方法 最佳答案 二级知识专家蓝莓九栀 2021-02-07 03:28 mysql 5.* 的版本现在没有split 函数,以下是几个自定义的split函数…

Oracle split函数

一、创建split函数 1、创建TYPE CREATE OR REPLACE TYPE TYPE_SPLIT AS TABLE OF VARCHAR2 (4000); / 2、创建split函数 CREATE OR REPLACE FUNCTION SPLIT(P_STRING VARCHAR2, P_SEP VARCHAR2 : ,)RETURN TYPE_SPLITPIPELINED ISIDX PLS_INTEGER;V_STRING VARCHAR2(4000)…

mysql有split函数么_mysql中split函数

在mysql中并没有split函数,需要自己写: 1)获得按指定字符分割的字符串的个数: Sql代码 DELIMITER$$ DROP FUNCTION IFEXISTS`sims`.`func_get_split_string_total`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `func_get_split_string_total`( f_strin 在mysql中并没有sp…

Python之split函数的详解

目录 一、split函数的官方定义 二、split函数的深刻理解 二、split函数的深刻理解 split函数主要应用场景是Python对字符串的处理中(数据分析,数据处理),以及计算机二级考试的常考基础知识点。 一、split函数的官方定义 定义…

Python基础之split()函数

一、split()函数描述 split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num1 个子字符串split() 方法语法: 二、split()用法 语法: str.split(str"", numstring.count(str)) 参数: str…

分割字符串split函数的正确用法(切片)

分割字符串split函数的正确用法(切片) split函数是将字符串分割为列表 函数原型: str.split(sep,maxsplit)参数说明: str:表示要进行分割的字符串sep:用于指定分隔符,可以包含多个字符,默认为None,即所有…

PostgreSQL 视图

详细了解视图、函数(存储过程)、触发器、别名 视图篇 一、视图定义 引言: 假设天气记录和城市为止的组合列表对我们的应用有用,但我 们又不想每次需要使用它时都敲入整个查询。我们可以在该查询上创建一个视图,这会给该 查询一…