在Qt Creator中运行python pygame报ImportError: No module named ‘pygame‘的一个解决办法

本文介绍如何在QtCreator中成功运行带有pygame的Python项目,解决了在QtCreator中因环境变量问题导致pygame无法导入的问题。

1. 背景

1.1 软硬件相关信息

  • PC: MacBook Pro
  • Qt Creator:Qt Creator 4.13.1 Based on Qt 5.15.1 (Clang 11.0 (Apple), 64 bit)
  • Python:Python 3.8.2

1.2 问题背景

最近在自学python,用了非常经典的《Python编程从入门到实践》,一开始用的教材里面推荐的Sublime Text来编辑运行代码,但由于本人对Qt Creator编辑器用起来更熟悉更趁手,为此一番折腾,以便在内嵌在Qt Creator中的应用程序输出窗口中直接查看代码运行输出log。
基础知识部分章节使用的是python自带的库,运行起来没有毛病;当学习到教材项目部分的“外星人入侵”章节时,问题来了,按照书籍中的步骤和网上的攻略安装好了pygame及其他相关模块之后,编辑好的alien_invation.py在SHELL终端运行正常,但是在Qt Creator中运行时,应用程序输出了如下的错误信息:

Traceback (most recent call last):
  File "/Users/HostName/py_alien/alien_invasion.py", line 2, in <module>
    import pygame
ImportError: No module named 'pygame'

2. 解决办法

2.1 设置环境变量

打开 .bash_profile:

vim ~/vim .bash_profile

在脚本末尾添加如下行并保存:

export PYTHONPATH="$PYTHONPATH:/Users/HostName/Library/Python/3.8/lib/python/site-package"

使环境变量设置生效:

source ~/.bash_profile

2.2 在Qt Creator中运行目标代码

重启Qt Creator,

  1. 配置要运行的脚本(这里是alien_invasion.py);
  2. 设置解释脚本使用的python版本(可以点击Manage按钮,在新打开的窗口中将某版本的python设置为默认使用版本);
  3. 设置工作目录(不设置 且 pygame load image 的路径不是图像的绝对路径的话,运行脚本可能会找不到文件)。

配置要解释的脚本、使用的python版本和工作目录

  1. 运行脚本,OK了~

一切正常~

此问题的解决参考了这篇文章,该文章解决的是PyCharm集成pygame中遇到的import error问题:Mac Pycharm 提示 – ImportError: No module named

<think>好的,我现在需要解决用户在Ubuntu 22.04上使用QT时遇到的ModuleNotFoundError,具体是找不到名为“ccc”的模块。首先,我要分析可能的原因,然后逐步提供解决方案。 首先,用户提到错误ModuleNotFoundError: No module named 'ccc'。这通常意味着Python环境中缺少ccc模块,或者模块未正确安装。但需要确认用户的使用场景,因为QT项目可能涉及Python或C++的不同情况。如果用户使用的是PyQt或PySide,那么确实是Python的问题;如果是C++项目,可能需要检查其他依赖。 接下来,我需要考虑可能的安装方法。Ubuntu的软件源中可能有相关的包,或者用户需要使用pip安装。另外,检查模块名称是否正确,是否存在拼写错误。例如,是否应该是“ccc”还是其他类似的包名,比如“pyccc”或其他变体。 然后,考虑到Ubuntu 22.04默认可能使用Python 3.10,用户是否安装了对应版本的模块?或者是否在虚拟环境中未激活导致模块不可见?此外,QT项目可能需要特定的绑定库,如PyQt5或PySide6,这些是否已安装? 另外,如果用户使用的是Snap安装的软件,可能会有环境隔离的问题,导致无法访问系统安装的Python模块。参考用户提供的引用[^1],其中提到在Ubuntu上安装Firefox的Deb包而非Snap,可能用户之前遇到过Snap相关的问题,所以需要检查是否QT环境是通过Snap安装的,导致模块路径问题。 此外,需要检查PYTHONPATH环境变量是否包含模块所在路径,或者是否需要在QT项目中配置额外的路径。如果用户自己编写的模块ccc,可能需要确保路径正确。 综合以上可能,我将分步骤建议用户检查Python环境,安装或确认ccc模块的存在,检查QT项目配置,以及处理可能的Snap环境隔离问题。同时,根据引用[^2],提到启动msfconsole前需要启动PostgreSQL,可能需要类似的环境准备步骤,比如确保依赖服务已启动或环境变量正确设置。 最后,生成相关问题,帮助用户进一步排查其他可能性,如虚拟环境、模块名称拼写、项目配置等。</think>### 解决Ubuntu 22.04 QTModuleNotFoundError: No module named 'ccc' #### 1. 确认模块名称和环境 首先检查是否拼写错误或混淆了模块名称。例如,是否实际需要安装的模块是其他名称(如`PyCCC`或`ccclib`)。可通过以下命令搜索模块: ```bash pip search ccc ``` #### 2. 安装缺失的Python模块 如果确认模块名为`ccc`,尝试通过`pip`安装: ```bash pip install ccc ``` 若提示权限问题,可添加`--user`选项: ```bash pip install --user ccc ``` 或使用系统包管理器安装(如果存在): ```bash sudo apt install python3-ccc # 假设Ubuntu仓库中有该包 ``` #### 3. 检查Python环境路径 如果模块已安装但QT仍无法识别,可能是环境路径问题: - 确认使用的Python解释器路径与安装模块的环境一致(例如系统Python、虚拟环境等)。 - 通过以下命令查看已安装模块路径: ```bash python3 -m site ``` - 在QT项目中手动添加模块路径(如`.bashrc`或QT配置): ```bash export PYTHONPATH="/path/to/ccc:$PYTHONPATH" ``` #### 4. 处理Snap环境隔离问题 如果QT是通过Snap安装(如`snap install qtcreator`),其运行时环境可能与系统隔离,导致无法访问已安装的Python模块。解决方式: - 改用`.deb`包安装QT: ```bash sudo apt install qtcreator ``` - 或在Snap环境中手动绑定路径: ```bash sudo snap connect qtcreator:system-packages :system-packages ``` #### 5. 验证QT项目配置 - 如果是C++项目引用了Python模块,需检查是否配置了正确的Python头文件和库路径。 - 在`.pro`文件中添加Python依赖(示例): ```makefile INCLUDEPATH += /usr/include/python3.10 LIBS += -lpython3.10 ``` #### 6. 重新编译并清理缓存 修改配置后,清理项目并重新构建: ```bash make clean && make ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值