1、virtualenv
1.1、安装
[root@rocky9 ~]# pip3 install virtualenv
# 安装好之后可以查看版本
[root@rocky9 ~]# virtualenv --version
virtualenv 20.26.3 from /usr/local/lib/python3.9/site-packages/virtualenv/__init__.py
1.2、创建虚拟环境
[root@rocky9 ~]# virtualenv demo
created virtual environment CPython3.9.18.final.0-64 in 406ms
creator CPython3Posix(dest=/root/demo, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
added seed packages: pip==24.1, setuptools==70.1.0, wheel==0.43.0
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
[root@rocky9 ~]# ls
demo
[root@rocky9 ~]#
virtualenv创建的虚拟环境是在当前目录,并以虚拟环境的名字创建一个目录,例如我这里虚拟环境的名字是demo,他会在我执行命令的目录创建一个同名的demo目录
1.3、激活虚拟环境
[root@rocky9 ~]# source demo/bin/activate
(demo) [root@rocky9 ~]#
这样就激活了,可以使用pip在当前环境中安装需要的模块
1.4、关闭退出虚拟环境
(demo) [root@rocky9 ~]# deactivate
[root@rocky9 ~]#
如果不想用了可以将该目录删除即可删除该虚拟环境
2、virtualenvwrapper
virtualenvwrapper是对virtualenv的一个扩展,可以更容易的管理虚拟环境
2.1、安装
安装之前需要确定已经安装了virtualenv
[root@rocky9 ~]# pip3 install virtualenvwrapper
安装完毕之后还需要修改一下环境变量
下面的配置可以写在.bashrc,.bash_profile,.zshrc或者/etc/profile中,这里以/etc/profile为例
# 首先确认virtualenvwrapper.sh这个文件的位置
[root@rocky9 ~]# which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
# 还要查看一下python3的位置
[root@rocky9 ~]# which python3
/usr/bin/python3
[root@rocky9 ~]# vim /etc/profile
# 文件末尾增加下面3行
export WORKON_HOME=/data/virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
# 保存退出后重新加载一下配置
[root@rocky9 ~]# source /etc/profile
virtualenvwrapper.user_scripts creating /data/virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /data/virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /data/virtualenvs/initialize
virtualenvwrapper.user_scripts creating /data/virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /data/virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /data/virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /data/virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /data/virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /data/virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /data/virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /data/virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /data/virtualenvs/get_env_details
[root@rocky9 ~]#
看到类似上面的信息输出说明配置正确
2.2、创建虚拟环境
[root@rocky9 ~]# mkvirtualenv demo
如上创建一个名称为demo的虚拟环境,会在/data/virtualenvs/创建一个demo的目录
2.3、查看和切换虚拟环境
# 查看当前系统中的虚拟环境
[root@rocky9 ~]# workon
demo
# 也可以使用这个命令查看当前所有可用的虚拟环境
[root@rocky9 ~]# lsvirtualenv
demo
====
[root@rocky9 ~]#
# 进入虚拟环境,也可以切换虚拟环境
[root@rocky9 ~]# workon demo
(demo) [root@rocky9 ~]#
# 查看虚拟环境中安装的包
(demo2) [root@rocky9 ~]# lssitepackages
(demo2) [root@rocky9 ~]#
2.4、退出虚拟环境
(demo) [root@rocky9 ~]# deactivate
[root@rocky9 ~]#
[root@rocky9 ~]# rmvirtualenv demo2
Removing demo2...
[root@rocky9 ~]#