虚拟环境安装neopixel等包后仍提示No module named ‘neopixel’求助
我在做一个需要用到Adafruit CircuitPython Neopixel的项目,执行pip3 install neopixel时系统提示要创建虚拟环境,创建后在虚拟环境里执行该命令显示安装成功,但Python脚本里执行import neopixel时提示No module named 'neopixel'。
之后我在虚拟环境里依次执行了以下命令:
pip3 install neopixel pip install neopixel pip install adafruit_circuitpython_neopixel pip install rpi_ws281x
所有命令都显示安装成功,但再次导入neopixel时还是报同样的错误。我用pip show rpi_ws281x和pip show neopixel查看,显示模块已安装,删除重装后问题依旧,网上找的方案都没用。
1. 改用正确的导入语句
Adafruit CircuitPython Neopixel的官方包是adafruit_circuitpython_neopixel,它的导入名不是neopixel,而是adafruit_neopixel。你需要把脚本里的导入代码改成:
import adafruit_neopixel
之前安装的neopixel是另一个第三方库,和CircuitPython版本不兼容,完全不需要它。
2. 确认虚拟环境处于激活状态
运行脚本前必须确保虚拟环境已激活:
- Linux/macOS:执行
source 你的虚拟环境目录/bin/activate - Windows(CMD):执行
你的虚拟环境目录\Scripts\activate.bat - Windows(PowerShell):执行
你的虚拟环境目录\Scripts\Activate.ps1
激活后终端提示符会显示虚拟环境名称,此时再运行Python脚本。
3. 验证Python与pip的环境匹配
虚拟环境里可能存在Python版本不匹配的问题,执行以下命令确认:
# 查看当前Python路径 which python # Linux/macOS where python # Windows # 查看当前pip对应的Python版本 pip --version
确保两者路径都指向虚拟环境目录下的Python。如果不匹配,改用python -m pip install adafruit_circuitpython_neopixel安装,确保包安装到当前Python环境中。
4. 清理冲突包
你安装了多个可能冲突的包,建议先卸载多余的,只保留官方CircuitPython包:
pip uninstall -y neopixel rpi_ws281x pip install adafruit_circuitpython_neopixel
避免不同库之间的命名或依赖冲突。
5. 用最小脚本测试
运行以下最小脚本验证环境是否正常:
import board import adafruit_neopixel # 初始化灯带示例 pixel_pin = board.D18 num_pixels = 8 pixels = adafruit_neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.3, auto_write=False) pixels.fill((255, 0, 0)) pixels.show()
如果这个脚本能正常运行,说明环境没问题,再迁移你的业务代码即可。
内容的提问来源于stack exchange,提问作者Michael Guidice

