一、virtualenv

简介

在linux上通常账户都没有root权限安装python库会受到限制,而且python的库五花八门每个项目的依赖都不同导致安装的库混乱,通过virtualenv可以在项目里面隔离出一个虚拟的python环境,这样只要对项目有权限就能自由的安装python库

python2解决方案

pip在2021年放弃了对python2的维护,所以pip2不能正常使用了,但是pip还是指向了2并且可以使用

python -m pip install --user virtualenv
python -m virtualenv venv

新的解决方案

Python3 在某一个版本中内置了venv,较低版本的Python3也需要安装该模块才能使用

python3 -m venv venv

使用

  • 为项目搭建一个虚拟环境

    python3 -m venv venv

  • 进入虚拟环境

1
2
3
4
5
# 切换到项目目录下,上一步应该生成了一个venv目录,执行
source venv/bin/activate
# 检查目前的python驱动位置
which python
/Users/luoyang/workspace/cds/resop/venv/bin/python
  • 退出virtual

    deactivate

  • 列出当前环境中的依赖库

1
2
3
4
5
6
7
8
# 列出当前环境中的依赖库
pip3 freeze > requirements.txt

# 安装所有的依赖库
pip3 install -r requirements.txt

# 安装速度慢,可以指定资源
-i https://pypi.tuna.tsinghua.edu.cn/simple

二、pipenv

下面的那个pyenv最后没有配置好

安装

1
2
3
4
5
6
7
8
9
# 安装pipenv
pip3 install --user pipenv
# 添加到shell
# 1.查看python目录
python3 -m site --user-base
# 输出:/Users/luoyang/Library/Python/3.8
# 在输出结果后加上bin即:/Users/luoyang/Library/Python/3.8/bin,添加到.zshrc中
vi ~/.zshrc
export PATH=/Users/luoyang/Library/Python/3.8/bin

三、pyenv

virtualenv是系统去管理python版本,然后通过它去管理不同项目的环境,pyenv是替代系统去做python版本管理,同样提供了一个pyenv-virtualenv插件来管理不同py版本的虚拟环境

安装

  • 安装pyenvbrew install pyenv
  • 安装pyenv-virtualenv brew install pyenv-virtualenv
  • 安装指定版本pyenv install 2.7.16
  • 上一步可能会卡在下载安装包的步骤,可以手动下载(浏览器直接访问命令行中的链接),然后复制到.pyenv/cache目录(没有的话就新建一个),然后再次执行上一条命令

基础命令

1
2
3
4
5
6
# 查看所有的版本
pyenv versions

# 将python 2.7.16设置为默认版本
pyenv global 2.7.16

创建虚拟环境