工作中我们经常会根据不同的项目切换不同的python环境,如果仅仅是在本地就安装一个python环境,项目移植也要重新配置环境,就会很麻烦。如果我们安装了虚拟环境,那么我们得python环境就会跟着项目走,就比较方便了。今天我们就来聊一聊怎么在linux和Windows系统下安装virtualenv虚拟环境
虚拟环境依赖系统解释器,但是每个虚拟环境安装的第三方包不同。可以继续系统解释器虚拟出N个虚拟环境
1 |
pip3 install virtualenv |
1 |
pip3 install virtualenvwrapper |
virtualenv安装后,会生成一些文件
运行mkvirtualenv时,需要配置环境变量,不然无法运行,会报如下错误
用普通用户执行
1 |
mkdir $HOME/.virtualenvs |
需要设置下述的环境变量:
1 2 3 |
export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Devel source /usr/local/bin/virtualenvwrapper.sh |
先找到virtualenvwrapper.sh的文件
所以使用了sudo find / -name virtualenvwrapper.sh的命令去寻找这个文件,
发现这个文件在路径下
1 |
sudo find / -name virtualenvwrapper.sh |
添加以下内容
1 2 3 4 |
export WORKON_HOME=/$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3.11/bin/virtualenv source /usr/local/python3.11/bin/virtualenvwrapper.sh |
1 |
source ~/.bashrc |
测试是否安装成功
1 |
workon #查看当前有哪些虚拟环境,刚开始啥也没创建 |
可以指定python版本创建virtualenv
1 |
mkvirtualenv -p /usr/bin/python test1 #指定python2的版本 test1是虚拟环境名称 |
进入或切换虚拟环境:workon 虚拟环境名称
#退出:
1 |
deactivate |
创建虚拟环境
前面的括号,表示现在的终端在test01这个虚拟环境下
1 |
workon xxx |
1 |
deactivate |
这两个虚拟环境,如果安装的是不同版本的python,整个环境就跟着切换到不同版本的环境下
运行项目,就是在该虚拟环境python版本下运行
虚拟环境创建好后,在pycharm中也可以选择使用了
安装Python(安装Python解释器) C:python39 最好每个项目创建个虚拟环境
Windows安装的包都在下面的目录
1 2 3 4 5 6 7 8 9 10 11 |
C:python39 - python.exe - Scripts - pip.exe - pip3.exe - Lib - xxx.py - re.py - random.py - site-packages(pip安装第三方模块) - requests==1.8 |
例如我目前的python环境安装的包目录
Windows安装虚拟环境
安装在系统解释器。
1 |
pip install virtualenv |
看下virtualenv安装位置
在自己的终端(命令行)。
1 2 3 |
>>> F: >>> cd /envs >>> virtualenv crm --python=python3.9 |
下面是自己创建的,当然如果安装了多个版本的解释器,也可以指定python版本
在该目录下会生成 一个虚拟环境目录
1 2 3 |
>>>F: >>>cd virtualenvdata/crm/Scripts >>>activate |
必须在Script目录下,激活环境。就进入了虚拟环境
1 |
deactivate |
写一段代码
在虚拟环境执行代码
Windows中在 Pycharm中创建虚拟环境,创建项目时创建虚拟环境
创建好,就在项目下创建了个虚拟环境的目录
我们看下当前项目的解释器,用的就是虚拟环境了
在pycharm中写段代码运行,找的就是虚拟环境的解释器
pycharm中,点击Terminal ,自动就进入到虚拟环境
在这里安装的包,就安装到了虚拟环境
1 |
pip install requests |
一般我们把虚拟环境放到项目所在文件夹下,切记不要在虚拟环境文件夹下写代码
项目做完后,如果想把当前项目中所有的包导出来,可以使用在终端命令行
1 |
pip freeze > requirement.txt |
requirement.txt就把所有的依赖包以及版本都列出来了
下次需要安装时,也可以根据这个txt文档直接全部安装
1 |
pip install -r requirement.txt -i [url源] |