Python虚拟环境搭建

python项目开发中的潜规则

一般情况下,我们每次创建项目,都会为项目创建一个虚拟环境

  • 先创建虚拟环境:test
  • 再创建项目
  • 项目+环境 关联起来,以后就可以利用这个环境专门去运行项目

1. 创建虚拟环境

  • venv
    1.1 venv安装在python解释器。
    1
    python3 -m venv test
    1.2 利用venv创建
    在自己的终端(命令行)
    1
    2
    cd /Users/mac/work/python
    python3 -m venv test

2. 安装和管理多个Python版本

在开发过程中,我们经常需要在不同项目中使用不同版本的Python。以下是几种在Mac上安装和管理多个Python版本的方法,而不会覆盖系统自带的Python版本。

2.1 使用pyenv管理多版本Python

pyenv是专门用于管理多个Python版本的工具,它不会影响系统自带的Python。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 安装pyenv
brew install pyenv

# 配置pyenv(添加到~/.zshrc文件中)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

# 重新加载配置
source ~/.zshrc

# 安装特定版本的Python(例如3.9.0)
pyenv install 3.9.0

# 查看已安装的所有Python版本
pyenv versions

# 创建虚拟环境
# 方法1:使用pyenv-virtualenv插件
brew install pyenv-virtualenv

# 配置pyenv-virtualenv(添加到~/.zshrc文件中)
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

# 重新加载配置
source ~/.zshrc

# 创建虚拟环境
pyenv virtualenv 3.9.0 test_env

# 激活环境
pyenv activate test_env

# 或者方法2:使用特定版本的Python创建venv
pyenv shell 3.9.0
python -m venv my_project_envs

注意: 如果遇到 Failed to activate virtualenv 错误,通常是因为 pyenv-virtualenv 没有正确加载到你的 shell 中。确保已经添加了上述配置到 ~/.zshrc 文件并重新加载配置。

2.2 使用conda管理Python环境

Miniconda或Anaconda可以同时管理Python版本和包:

1
2
3
4
5
6
7
8
# 安装miniconda
brew install --cask miniconda

# 创建特定Python版本的环境
conda create -n my_project_env python=3.9

# 激活环境
conda activate my_project_env
2.3 使用Docker容器

如果你熟悉Docker,可以为每个项目创建一个带有特定Python版本的容器:

1
2
3
4
5
# 创建一个使用Python 3.9的Dockerfile
FROM python:3.9
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
2.4 使用asdf版本管理器

asdf是一个通用的版本管理工具,也支持Python:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装asdf
brew install asdf

# 添加Python插件
asdf plugin add python

# 安装特定版本
asdf install python 3.9.0

# 设置本地版本
asdf local python 3.9.0

# 然后创建虚拟环境
python -m venv test_env

3. 使用虚拟环境

3.1 使用标准venv创建的虚拟环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 激活虚拟环境
# 在Windows上
test\Scripts\activate

# 在Mac/Linux上
source /Users/mac/.pyenv/versions/test_env/bin/activate

# 激活后,命令行前面会出现(test)前缀
(test_env) $

# 安装依赖包
pip install numpy pandas

# 退出虚拟环境
deactivate
3.2 使用pyenv-virtualenv创建的环境
1
2
3
4
5
6
7
8
# 激活环境
pyenv activate my_project_env

# 安装包
pip install requests

# 退出环境
pyenv deactivate
3.3 使用conda创建的环境
1
2
3
4
5
6
7
8
9
10
# 激活环境
conda activate my_project_env

# 安装包
conda install numpy
# 或者
pip install numpy

# 退出环境
conda deactivate
3.4 虚拟环境的常用操作
1
2
3
4
5
6
7
8
9
10
11
# 查看已安装的包
pip list

# 导出依赖列表
pip freeze > requirements.txt

# 在另一个环境中安装相同的依赖
pip install -r requirements.txt

# 更新pip
pip install --upgrade pip

记住,只有在激活虚拟环境后,你安装的包才会被安装到虚拟环境中,而不是系统的Python环境。

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者,更多功能请访问博客站



Python虚拟环境搭建
https://blog.fxcxy.com/2025/05/23/Python虚拟环境搭建/
作者
spatacus
发布于
2025年5月23日
许可协议