使用Cookiecutter创建Pyramid应用时遇模块未找到错误求助
问题场景
在Debian GNU/Linux 10系统中,已安装Cookiecutter并将~/local路径添加到bash配置文件,Cookiecutter可正常调用,但执行命令cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 2.0-branch时出现以下错误:
Traceback (most recent call last): File "/home/cdit/.local/bin/cookiecutter", line 6, in <module> from cookiecutter.__main__ import main ModuleNotFoundError: No module named 'cookiecutter'
解决步骤
1. 对齐Python环境
Cookiecutter启动脚本调用的Python环境可能和安装环境不匹配,导致模块找不到:
- 检查当前默认Python版本:
python --version python3 --version - 用对应Python环境重新安装Cookiecutter(推荐用pip3):
pip3 install --user cookiecutter - 直接通过Python模块方式执行命令:
python3 -m cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 2.0-branch
2. 调整PATH路径优先级
确保~/local/bin在PATH中的优先级最高,避免调用错误的脚本:
- 查看当前PATH顺序:
echo $PATH - 修改
~/.bashrc配置文件,将~/local/bin放在PATH最前面:echo 'export PATH="$HOME/local/bin:$PATH"' >> ~/.bashrc - 重新加载配置:
source ~/.bashrc
3. 处理虚拟环境冲突
如果之前在虚拟环境中安装过Cookiecutter,需激活对应环境再执行:
- 激活目标虚拟环境(假设环境名为
venv):source venv/bin/activate - 再次执行Cookiecutter命令:
cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 2.0-branch
4. 彻底重装Cookiecutter
若以上方法无效,卸载后重新安装:
- 卸载所有版本的Cookiecutter:
pip uninstall -y cookiecutter pip3 uninstall -y cookiecutter - 用pip3重新安装到用户目录:
pip3 install --user cookiecutter
内容的提问来源于stack exchange,提问作者tanzeem
相关产品推荐
相关产品推荐

