python有个环境概念, 还不错, 可以解决各种依赖冲突问题

VS code自动了

  • 在vscode的terminal中安装python的库ipykernel时, 自动建议弄个环境:
    • /Users/bergman/my2024/.venv/bin/python

copilot建议这么安装库

# 设置环境
source /Users/bergman/my2024/.venv/bin/activate   

# 如果还没安装socks依赖, 那么要使用http代理, 例如.zshrc里面的别名
alias httpon="export all_proxy=http://127.0.0.1:7890"

# 安装socks依赖, 如果翻墙用的socks那么要装这个
pip install PySocks 

# 升级pip, 这个很重要, 最新的环境需要最新的pip
pip install --upgrade pip  

# 安装ipykernel, vscode执行ipynb需要这个
pip install ipykernel

2025.3.29更新, 以flet为例

# 搭建虚拟环境, 在本地建了一个 .myvenv目录
python3 -m venv .myvenv
source .myvenv/bin/activate
# 参数扩展:
--system-site-packages:允许虚拟环境访问系统全局安装的包 
--prompt:自定义虚拟环境提示符名称,例如 python -m venv --prompt=projectA myenv 

# 使用pip在虚拟环境安装包, 此时已经不需要pip3了, 因为是虚拟环境, pip就是pip3
pip install 'flet[all]'

# 退出虚拟环境
deactivate

# 删除虚拟环境: 直接删除文件夹即可
# ! 上面这句是胡说八道 ------2025.3.30再次更新------
# 查看虚拟环境
echo $VIRTUAL_ENV
deactivate
code ~/.zshrc
搜索: flet_env
# 俺没有找到, 只能下面继续
code ~/.zprofile
code ~/.zshenv
# 俺依旧没有找到, 只能刷新看看
exec zsh
# 再看看个人根目录下面是否有这玩意
ls ~/flet_env
# 全局搜索都没有, 只能最后一招, 重启试试了
# 最终deepseek给出了正确答案. 
禁用vscode的python相关插件, 然后重启vscode再打开插件, 以便清楚插件的缓存

# conda相关操作:
# 创建环境
conda create --name myenv python=3.9

# 激活
conda activate myenv

# 退出
conda deactivate


2025.4.4更新 vscode的py虚拟环境

vscode会错误识别虚拟环境, 以致于弹出警报:全局安装,
然后就对着代码报警: 无法解析导入“PySide6.QtWidgets”, 对应代码: from PySide6.QtWidgets import QApplication, QMainWindow, QTextEdit

# 虚拟环境中查看解释器版本
which python  # macOS/Linux

# vscode中选择虚拟环境
cmd + shift + p  -> python: select interpreter(解释器)
# 如果虚拟环境没有出现, 那么是因为根目录虚拟环境所在的目录不是vscode的根目录

# 此时会发现terminal不需要source 虚拟环境, vscode自动搞好了
# 验证下都安装了哪些库
pip list

# 安装了微软的python environments插件后, 左边出现四叶草状蛇缠绕图标, 点开就可以直接看到各种python信息
2025.5.18 后记

新建虚拟环境时, 千万不要图省事用默认名字, 那玩意用一段时间之后, python自己就混乱了.

# 此时, 我们只能删除重装.
deactivate
# 一定要反复运行上面这个, 完全确认退出了环境.
# 然后新建环境时, 千万不要用vscode默认的新建, 那个玩意就是建.venv的根源.


python3 -m venv .myvenv
source .myvenv/bin/activate

后记: vscode很多时候拥有特别顽强的记忆, deactivate之后, 再次开新的terminal, 老的虚拟环境会再次出现, 即便此时, 你已经删除了它, 那么此时, 可以再次deactivate, 然后建个新的, 新的就会生效.