为什么使用虚拟环境,如果你的主机上部署了N个python项目,每个项目依赖了不同的包,甚至,依赖了相同的包的不同的版本,是不是就冲突了,所以我们需要虚拟环境。
python3.3之后可用的我为了python虚拟环境新建了一个目录
[root@hecs-82454 pythonvirtual]# ls [root@hecs-82454 pythonvirtual]# python -m venv myfastapi [root@hecs-82454 pythonvirtual]# ls myfastapi
发现通过python -m venv myfastapi命令生成了一个目录
接下来我们激活这个目录
[root@hecs-82454 pythonvirtual]# source myfastapi/bin/activate (myfastapi) [root@hecs-82454 pythonvirtual]#
发现现在在最前面有一个(myfastapi)这个标识,就说明我们已经激活并进入到这个虚拟环境里了
退出虚拟环境的方法
(myfastapi) [root@hecs-82454 pythonvirtual]# deactivate [root@hecs-82454 pythonvirtual]#python3.3之前之后都可用的方法
首先安装virtualenv
[root@hecs-82454 JenkinsAndSpring]# pip3 install virtualenv
安装完成之后检查一下版本
[root@hecs-82454 JenkinsAndSpring]# virtualenv --version -bash: virtualenv: command not found
发现没有找到指令,emmm,很奇怪是不是
接下来我们找一下virtualenv安装到哪里了
[root@hecs-82454 bin]# find / -name virtualenv /usr/bin/virtualenv /usr/local/python3/bin/virtualenv /usr/local/python3/lib/python3.8/site-packages/virtualenv
接下来我们添加一个软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
检查一下软连接,进入/usr/bin,通过ll检查所有的指令,发现virtualenv已经指向了我们安装的virtualenv了
lrwxrwxrwx 1 root root 33 Dec 10 21:11 virtualenv -> /usr/local/python3/bin/virtualenv
再次检查版本,发现已经有了版本信息了
[root@hecs-82454 bin]# virtualenv --version virtualenv 20.10.0 from /usr/local/python3/lib/python3.8/site-packages/virtualenv/__init__.py
接下来我们创建虚拟环境
virtualenv -p python3 --system-site-packages /usr/local/JenkinsAndSpring/fastapitest/venv
这里面的指令比较重要的有
–system-site-packages :可以将已经安装到系统Python环境中的第三方包都不复制到独立环境中,这样我们就可以得到一个不带任何第三方包的Python环境了
-p python3:可以指定python的版本,这个具体是多少,要看你自己主机的python的配置,如果去掉这个参数,就会使用系统默认的python。
/usr/local/JenkinsAndSpring/fastapitest/venv :这个命令就是在/usr/local/JenkinsAndSpring/fastapitest下新建了一个虚拟环境叫venv
至于进入虚拟环境和退出虚拟环境都是一样的



