venv环境基础指令以及常见问题汇总(持续更新)

该文章已生成可运行项目,

常见指令

Python 原生虚拟环境(venv 中,没有直接列出所有虚拟环境的命令(因为 venv 不像 Conda 那样有集中管理机制),但可以通过 文件操作脚本 实现类似功能。以下是常用命令和技巧:


📌 常用 venv 命令

1. 创建虚拟环境

python3.9 -m venv /path/to/env_name  # 指定 Python 版本和路径

示例:

python3.9 -m venv ~/envs/my_env     # 在用户目录下创建
或者
python3.9 -m venv ~/rtdetr_env  # 在用户目录下创建

2. 激活虚拟环境

  • Linux/macOS:
    source /path/to/env_name/bin/activate
    
  • Windows:
    \path\to\env_name\Scripts\activate.bat
    

3. 退出虚拟环境

deactivate

4. 删除虚拟环境

直接删除环境目录即可:

rm -rf /path/to/env_name  # Linux/macOS

5. 查看当前环境的 Python 和包

which python    # 检查当前使用的 Python 路径
pip list        # 查看已安装的包

🔍 如何查看所有虚拟环境?

由于 venv 不会全局注册环境,你需要手动检查存放环境的目录(如 ~/envs/)。以下是几种方法:

方法1:列出特定目录下的所有环境

假设你的虚拟环境都存放在 ~/envs/

ls ~/envs/  # 查看该目录下的所有环境文件夹

输出示例:

my_env1  my_env2  rtdetr_env

方法2:全局搜索 pyvenv.cfg 文件

每个 venv 环境根目录下都有 pyvenv.cfg,可以通过搜索它找到所有环境:

find ~/ -name "pyvenv.cfg" 2>/dev/null  # 搜索用户目录下的所有虚拟环境

输出示例:

/home/user/envs/my_env1/pyvenv.cfg
/home/user/envs/rtdetr_env/pyvenv.cfg

方法3:编写快捷脚本(推荐)

将以下函数添加到 ~/.bashrc~/.zshrc,然后运行 list_venvs

list_venvs() {
    echo "Existing virtual environments:"
    find ~/ -name "pyvenv.cfg" 2>/dev/null | sed 's/\/pyvenv.cfg//g'
}

更新配置后生效:

source ~/.bashrc

使用:

list_venvs

🆚 与 Conda 的对比

功能venvConda
列出所有环境需手动搜索目录conda env list
环境存储位置用户自定义路径统一在 ~/anaconda3/envs/
隔离性仅 Python 包Python + 系统依赖

💡 建议

  1. 统一存放环境目录(如 ~/envs/),方便管理。
  2. 如果环境太多,推荐用 脚本自动化(如上面的 list_venvs)。
  3. 在 Docker 中,尽量将虚拟环境放在 持久化存储卷 中,避免容器重启后丢失。

❓ 常见问题

Q1: 能像 Conda 一样跨项目共享虚拟环境吗?

  • ✅ 可以,但需确保所有项目使用相同的 Python 版本和路径。

Q2: 如何复制一个虚拟环境?

  • 直接复制文件夹(不推荐,可能路径冲突),或重新创建环境并导出/导入包:
    pip freeze > requirements.txt  # 导出包列表
    pip install -r requirements.txt  # 在新环境安装
    

Q3: 虚拟环境占用空间太大怎么办?

  • 删除不必要的包:
    pip uninstall package_name
    
  • 或用 pip-autoremove 清理无用依赖。

问题1找不到虚拟环境

在这里插入图片描述

一般是路径输入错误了
根据自己需求更改使用命令

source /root/data1/ultralytics-main/rtdetr_env/bin/activate

或者先cd到当前文件夹中后在使用不带路径的命令,不懂可以再问哈

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值