[python]为每一个python项目创建虚拟环境(在项目内创建)

7 阅读2分钟

在Python项目中,为了让虚拟环境被开发环境自动识别,通常使用以下命名约定:

推荐的环境名

1. .venv(最推荐)

python -m venv .venv

优点:

  • 大多数现代IDE(VSCode、PyCharm、IntelliJ等)会自动识别
  • 隐藏目录(以点开头),不会在文件浏览器中显眼显示
  • .gitignore 文件默认忽略(如果使用标准模板)

2. venv(次推荐)

python -m venv venv

优点:

  • 清晰明了
  • 也被大多数IDE自动识别
  • Python官方文档示例常用

如何让环境被自动识别

VSCode 自动识别

VSCode 会自动查找以下目录:

  • .venv/
  • venv/
  • env/
  • 以及其他常见的虚拟环境名称

当打开项目时,VSCode会提示选择解释器。

PyCharm/IntelliJ 自动识别

  • 会自动检测项目根目录下的虚拟环境
  • 右键点击项目 → "Open in Terminal" 会自动激活虚拟环境

最佳实践

  1. 创建虚拟环境:
# 在项目根目录下
python -m venv .venv
  1. 激活环境(Linux/Mac):
source .venv/bin/activate
  1. 激活环境(Windows):
.venv\Scripts\activate
  1. 创建 .gitignore 文件(如果还没有):
# 虚拟环境
.venv/
venv/
env/
ENV/

# 其他Python相关
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

为什么选择 .venv

  1. 一致性:越来越多的项目采用这个约定
  2. 隐藏性:作为隐藏文件夹,减少文件浏览器的混乱
  3. 工具兼容性:被所有主流Python工具链支持
  4. 避免冲突:不会与可能的 venv 模块名冲突

其他注意事项

  • 如果项目中有多个环境(如开发、测试),可以考虑:

    .venv-dev/    # 开发环境
    .venv-test/   # 测试环境
    
  • 在团队协作时,确保所有成员使用相同的环境命名约定

  • 在项目文档中说明环境设置步骤

使用 .venv 是目前Python社区中最广泛接受的最佳实践,能够最大程度保证开发环境的一致性。