Python3.9.2不兼容项目(~3.11):版本切换及运行方法咨询
问题解决指南
一、为什么终端仍显示激活Python 3.9.2?
可能是以下几个原因:
- 终端会话未刷新:pyenv设置本地版本后,当前终端的环境变量还没更新,系统仍优先读取旧的Python版本。
- PATH顺序问题:系统自带的Python 3.9.2路径排在pyenv的shims路径之前,导致终端检测到的是系统版本。
- Poetry虚拟环境残留:之前可能用Python 3.9创建过Poetry虚拟环境,虽然Poetry会自动调用指定版本,但shell层面显示的还是全局激活的版本。
二、切换到Python 3.11.1的步骤
- 确认pyenv本地版本设置
执行命令:
然后重启终端,或者刷新当前shell会话:pyenv local 3.11.1exec "$SHELL" - 检查并调整PATH顺序
执行echo $PATH查看输出,确保$HOME/.pyenv/shims排在最前面。如果不是,编辑你的shell配置文件(比如~/.bashrc、~/.zshrc),添加:
保存后执行export PATH="$HOME/.pyenv/shims:$PATH"source ~/.bashrc(对应你的配置文件)生效。 - 重置Poetry虚拟环境
如果之前的虚拟环境绑定了Python 3.9,先移除旧环境:
然后指定Python 3.11.1创建新环境:poetry env remove python3.9
最后重新安装依赖:poetry env use 3.11.1poetry install
三、通过Poetry和Tailwind运行服务器
1. 激活Poetry虚拟环境
可以直接进入虚拟环境会话:
poetry shell
或者给每个命令加上poetry run前缀(无需进入会话)。
2. 执行Django迁移
# 进入shell后执行 python manage.py migrate # 或不进入shell执行 poetry run python manage.py migrate
3. 处理Tailwind CSS
如果你用的是django-tailwind包,执行以下命令:
- 启动Tailwind监听模式(开发时用,实时编译样式):
poetry run python manage.py tailwind start - 构建生产环境样式:
poetry run python manage.py tailwind build
4. 启动Django开发服务器
# 进入shell后执行 python manage.py runserver # 或不进入shell执行 poetry run python manage.py runserver
内容的提问来源于stack exchange,提问作者mx1txm
相关产品推荐
相关产品推荐

