idea中Run/Debug Python项目报错 Argument for @NotNull parameter ‘module‘ of ...
idea中Run/Debug Python项目报错 Argument for @NotNull parameter 'module' of ...
idea中运行Python项目main.py时报错:
Error running 'main': Argument for @NotNull parameter 'module' of com/intellij/openapi/roots/ModuleRootManager.getInstance must not be null

检查Run/Debug配置:





排查方案如下:
1)File -> Project Structure-> Project,检查 SDK 参数是否指定了 Python SDK,如果是 <No SDK> 则需要指定,如果下拉选项没有Python SDK,则 Add SDK创建一个(创建时 Virtualenv Environment 时 Base intercerpreter 指定 Python.exe 文件路径);
2)File -> Project Structure-> Modules,检查 Modules 是否为空:

如果为空(可能是因为项目根目录下的 idea 项目文件 "项目名.iml" 误删或丢失了 ),则点“+”操作:Import Modules 或 New Modules。
我之前出现该错误的时候,就是不知是什么原因导致该Modules为空了,所以我尝试重新创建 Modules:
New Modules :Create module from existing sources,选择对应 Python 项目的根目录。
创建以后Modules配置如下:


3)前面确认 Module 有了以后,再回到三角形的运行按钮的左侧的 Run/Debug Configurations 列表中,Edit Configurations,打开编辑界面:

a)检查: Configuration -> Script path:是否指定了正确的运行的python脚本,我指定的是我项目下的 main.py 脚本;
b)检查:Configuration -> Python Interpretor 参数,有两个选项,之前一直选择的是第二个选项 Use specified interpretor

1. Use SDK of Module:显示前面创建的Python项目
2. Use specified interpretor:pythoh.exe执行文件路径
之前一直指定的是 Python 3.8(python.exe执行文件路径),但此时运行时还是会报同样的错误。
感觉我创建Module后,这个配置界面貌似有点不同,第一个选项之前有问题的时候好像是空的。
此时,尝试修改配置,切换成第一个选项 Use SDK of Module(对应我前面创建的项目):

然后 Applay & OK 确认后,再点击三角形RUN按钮,结果问题解决了,RUN 成功了,不再报错了。
接下来我再尝试,改成回第二个选项,Run/Debug Configurations 列表中,Edit Configurations,打开编辑界面,将 Configuration -> Python Interpretor 参数改回第二个选项 Use specified interpretor:

然后我再RUN/Debug ,也正常了。
我本次的问题已经得到解决。
如果实在不行的话,可以考虑重新在idea中创建python项目的流程走一遍:
idea中创建python项目
一、创建Python项目的步骤
1. 打开idea,Create New Project。
2. 在New Project窗口中选择Python。
3. 在Python窗口中填写项目名称和项目路径。
4. 选择Python SDK版本和虚拟环境路径,如果没有安装Python SDK,则需要先安装Python SDK。
5. 点击Create按钮,创建Python项目。
二、Python SDK的安装方法
在创建Python项目之前,需要安装Python SDK。Idea支持多个版本的Python SDK,可以根据自己的需要选择不同版本的Python SDK。创建 Python SDK 步骤如下:
1. 下载Python SDK安装包。
2. 安装Python SDK,安装过程中需要注意选择Python SDK的安装路径和添加Python到环境变量中。
3. 在Idea中添加Python SDK,打开Idea的Settings窗口,在Project Interpreter中选择Add New,然后选择已经安装的Python SDK。
三、虚拟环境的创建方法
虚拟环境是Python开发中非常重要的一个概念,可以用来隔离不同项目的依赖关系,避免不同项目之间的依赖冲突。下面介绍虚拟环境的创建方法:
1. 打开Idea,选择Create New Project。
2. 在New Project窗口中选择Python。
3. 在Python窗口中填写项目名称和项目路径。
4. 选择Python SDK版本和虚拟环境路径。
5. 点击Create按钮,创建Python项目。
6. 在Idea中打开Terminal窗口,输入以下命令创建虚拟环境:
python -m venv venv
7. 激活虚拟环境:
source venv/bin/activate
四、创建Python文件的方法
1. 在idea中选择File -> New -> Python File。
2. 在New Python File窗口中填写文件名和文件路径后确认完成文件的创建。
五、idea中运行Python:
方法1:Run -> Run 'filename'
方法2:终端 Terminal 中输入命令运行:python filename.py
相关文章:
idea中Run/Debug Python项目报错 Argument for @NotNull parameter ‘module‘ of ...
idea中Run/Debug Python项目报错 Argument for NotNull parameter module of ... idea中运行Python项目main.py时报错: Error running main: Argument for NotNull parameter module of com/intellij/openapi/roots/ModuleRootManager.getInstance must not be nu…...
计算机网络第3章-TCP协议(2)
TCP拥塞控制 TCP拥塞控制的三种方式: 慢启动、拥塞避免、快速恢复 慢启动 当一条TCP连接开始时,cwnd的值是一个很小的MSS值,这使得初始发送速率大约为MSS/RTT。 在慢启动状态,cwnd的值以1个MSS开始并且每当传输的报文段首次被…...
SQL注入——二次注入漏洞
文章目录 SQL注入——二次注入漏洞1. 二次注入原理2. 二次注入需要具备的两个条件3. 二次注入实例4. 总结 SQL注入——二次注入漏洞 1. 二次注入原理 在第一次插入恶意数据的时候,只是对其中的特殊字符进行了转义,在写入数据库的时候还是原来的字符&am…...
【c++|opencv】二、灰度变换和空间滤波---1.灰度变换、对数变换、伽马变换
every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 灰度变换、对数变换、伽马变换 1. 灰度变换 #include <iostream> #include <opencv2/opencv.hpp>using namespace std; using namespace c…...
【vue3】子传父-事件总线-mitt(子组件派发事件,父组件接收事件和传递的参数)
安装库:cnpm install mitt 封装 eventbus.ts: src->utils->eventbus.ts //eventbus.tsimport mitt from mittconst emitter mitt()export default emitter使用 B2.vue: //B2.vue <template><div class"aa">…...
【杂记】java 大集合进行拆分
日常中需要对一个大的集合进行拆分成多个小集合,其主要思路为: 设置需要拆分多少个小集合 A大集合里面有多少条数据 B计算出每个集合里面有多个条数据 CB/A计算出看是否存在余数 DB%A采用集合(List.subList())的方法对大集合进行拆分,循环A变进行集合拆…...
select...for update 锁表了?
在MySQL中,事务A中使用select...for update where id1锁住了,某一条数据,事务还没提交,此时,事务B中去用select ... where id1查询那条数据,会阻塞等待吗? select...for update在MySQL中&#…...
使用ControlNet生成视频(Pose2Pose)
目录 ControlNet 介绍 ControlNet 14种模型分别是用来做什么的 ControlNet 运行环境搭建 用到的相关模型地址 ControlNet 介绍 ControlNet 是一种用于控制扩散模型的神经网络结构,可以通过添加额外的条件来实现对图像生成的控制。它通过将神经网络块的权重复制到…...
基于Docker使用Minikube
1. 查看并操控Minikube状态信息 Minikube相当于docker中的一个container,可以在Docker Desktop中看到并操控Minikube container的相关状态: 通过以下命令查看当前docker中的container: % docker ps CONTAINER ID IMAGE …...
Stable Diffusion系列(一):古早显卡上最新版 WebUI 安装及简单操作
文章目录 Stable Diffusion安装AnimateDiff插件适配sdxl模型适配 Stable Diffusion使用插件安装界面设置基础文生图加入lora的文生图 Stable Diffusion安装 我的情况比较特殊,显卡版本太老,最高也就支持cuda10.2,因此只能安装pytorch1.12.1&…...
ruoyi框架前端vue部署生产环境教程
前端有子目录,后端有项目名称,请看第3种 第1种 前端nginx没有子目录,后端也没有访问的项目名。这种是最简单的。 vue.config.js 只需要修改target中的IP和端口,就是后端访问的IP和端口 # vue.config.js devServer: {host: 0.…...
leetcode第369周赛
2917. 找出数组中的 K-or 值 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 nums 中的 K-or 是一个满足以下条件的非负整数: 只有在 nums 中,至少存在 k 个元素的第 i 位值为 1 ,那么 K-or 中的第 i 位的值才是 1 。 返回 nums …...
如何在维格云中自动新增一行或多行数据?
简介 在日常使用维格云中,通常会出现一张表中有数据发生变化时,需要另一张表同时新增一些数据,比如: 项目管理中,每新增一个项目,都要在任务表中产生若干个固定的任务;或一个任务要自动生成若干子任务当一笔订单状态变为成交后,可能要在客户成功表中新增一行记录;帮…...
Three.js 开发引擎的特点
Three.js 是一个流行的开源 3D 游戏和图形引擎,用于在 Web 浏览器中创建高质量的三维图形和互动内容。以下是 Three.js 的主要特点和适用场合,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作…...
k8s声明式资源管理方式
Kubernetes 支持 YAML 和 JSON 格式管理资源对象 JSON 格式:主要用于 api 接口之间消息的传递 YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读 YAML 语法格式: ●大小写…...
unity性能优化__Statistic状态分析
在Unity的Game视图右上角,我们会看到有Stats选项,点击会出现这样的信息 我使用的Unity版本是2019.4.16 一、Audio,顾名思义是声音信息 1:Level:-74.8dB 声音的相对强度或音量。通常,音量级别以分贝(dB&a…...
Linux Spug自动化运维平台公网远程访问
文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件…...
3DES算法
简介 本文基于.NET的C#实现3DES算法的加密和解密过程。可以用在加密软件、加密狗等。 代码下载链接:https://download.csdn.net/download/C_gyl/88487942 使用 第一种方法 加密 KeySize:128(16字节),192(24字节&#x…...
手机电池寿命检测
安卓 - 应用商店下载“安兔兔” -accubattery 下载地址 accubattery汉化版下载-Accubattery pro中文免费版(电池检测)下载 v1.5.11 安卓专业版-IT猫扑网...
Vue项目搭建及使用vue-cli创建项目、创建登录页面、与后台进行交互,以及安装和使用axios、qs和vue-axios
目录 1. 搭建项目 1.1 使用vue-cli创建项目 1.2 通过npm安装element-ui 1.3 导入组件 2 创建登录页面 2.1 创建登录组件 2.2 引入css(css.txt) 2.3 配置路由 2.5 运行效果 3. 后台交互 3.1 引入axios 3.2 axios/qs/vue-axios安装与使用 3.2…...
【.NET新特性·第1篇】.NET 8:统一平台的成熟之作
三年磨一剑,.NET 8 是微软统一平台战略的首个 LTS 里程碑版本 版本定位 适用版本:.NET 8 | LTS(长期支持) 支持周期:3 年(2023.11 - 2026.11) 前置知识:.NET 6/7 或其他版本的 C# 开…...
电力线路保护原理与整定计算实战解析:从电流、距离到差动保护
1. 项目概述:从“黑匣子”到“透明逻辑”在电力系统这个庞大而精密的网络中,输电线路如同人体的动脉血管,承担着输送能量的核心使命。然而,这条“动脉”时刻面临着雷击、外力破坏、绝缘老化、过负荷等各类风险的威胁。一旦发生故障…...
终极指南:3步让苹果触控板在Windows上获得原生级体验
终极指南:3步让苹果触控板在Windows上获得原生级体验 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-precision-touchpad …...
告别抓包烦恼:用Mitmproxy + Python脚本自动解密App接口数据(保姆级实战)
移动端App接口数据解密实战:Mitmproxy与Python自动化逆向分析 在移动应用安全测试和逆向工程领域,App与服务器之间的加密通信一直是分析人员的重点攻克对象。当面对一个网络请求被深度加密的App时,传统抓包工具往往只能展示一堆"乱码&qu…...
避坑指南:在Docker里部署OpenWrt做软路由,这几个macvlan和网络配置的坑你别踩
DockerOpenWrt软路由避坑实战:macvlan网络疑难解析与高阶配置 当你在双网口服务器上尝试用Docker部署OpenWrt软路由时,是否经历过这样的绝望时刻:所有配置看似正确,但客户端设备就是无法上网;宿主机与容器仿佛身处平行…...
别再怕模型不准了!用MATLAB的musyn命令搞定鲁棒控制器设计(附D-K迭代详解)
用MATLAB的musyn命令实现工业级鲁棒控制器设计实战指南 在控制系统的实际工程应用中,模型不确定性就像房间里的大象——人人都知道存在,却常常选择忽视。直到某天,精心设计的控制器在真实环境中表现失常,工程师们才意识到那些被忽…...
仓储AGV“大脑“江湖:这家公司拿下37%市场,却仍亏损1.7亿,还马上冲港股
导语大家好,这里是智能仓储物流技术研习社:专注分享智能制造和智能仓储物流等内容。专业书籍:《智能物流系统构成与技术实践》|《智能仓储项目英语手册》|《智能仓储项目必坑手册》|《智能仓储项目甲方必读》|《12大行业智能仓储实战指南》做…...
工业软件与高性能算力融合:重构智能制造核心引擎
在制造业数字化转型向纵深推进的今天,工业软件与高性能算力的深度融合,正在成为驱动高端制造、关键装备、核心工业领域突破瓶颈的关键力量。长期以来,我国工业领域面临着研发周期长、仿真效率低、系统集成复杂、国产化替代缓慢等多重难题&…...
从‘看见’到‘看懂’:手把手拆解RGB-D摄像头(如Intel Realsense)的3D视觉原理与应用
从‘看见’到‘看懂’:手把手拆解RGB-D摄像头的3D视觉原理与应用 当你第一次看到RGB-D摄像头生成的彩色点云在屏幕上旋转时,那种将现实世界数字化的震撼感令人难忘。但真正让这种设备发挥价值的,是理解它如何将光信号转化为三维坐标的完整技术…...
让老游戏在现代Windows上重获新生:DDrawCompat使用完全指南
让老游戏在现代Windows上重获新生:DDrawCompat使用完全指南 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/D…...
