当做一个项目时,可能会用到一些模块,如果把所有的模块都安装在主机python环境中,很容易使得自带python环境十分臃肿,而且到时候如果迁移到别的电脑时还需要重新安装对应模块,所以可以用虚拟环境,在不同的环境下安装对应的模块,迁移时也把整个环境迁移过去即可
虚拟环境的作用:项目之间环境隔离 开发:本地环境 线上:多环境隔离
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
通过virtualenv来创建虚拟环境时,不管是创建还是激活的时候都要先cd到具体的目录下去,这样显得不方便。可以使用virtualenvwrapper来管理虚拟环境。
Ubuntu中’.bashrc’文件默认位置在’~/.bashrc’,属于隐藏文件,可按ctrl+h 显示隐藏文件。打开后在文件末尾加入此段内容。 如果安装了 Oh My Zsh 就在.zshrc中加
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
source ~/.zshrc #安装了Oh My Zsh使用这个
若提示 bash:/home/…/local/bin/virtualenvwrappper.sh: No shch file or directory,其原因是你在安装virtualenvwrapper时,你没有在前面加上sudo,你可以使用sudo pip3 uninstall virtualenvwrapper将其卸载后,重新加上sudo命令重装,或将’.bashrc’文件中的source 换成如下语句。
source ~/.local/bin/virutalenvwrapper.sh
python 2.7
mkvirtualenv VM_name # VM_name 表示你的虚拟环境的名称
python 3.x
mkvirtualenv -p python3 VM_name
在ubuntu 18中,创建好环境后,会自动进入你的虚拟环境。命令行前会出现你的虚拟环境名称。
workon VM_name
deactivate
列出所有虚拟环境
lsvirtualenv
进入虚拟环境目录
cdvirtualenv
进入虚拟环境的site-packages目录
cdsitepackages
删除虚拟环境
rmvirtualenv VM_name
pip3 install virtualenv
为了使用virtualenv更方便,可以借助 virtualenvwrapper
pip install virtualenvwrapper-win
如果不配置环境变量,创建后的虚拟环境默认存储在当前用户(C:/Users/xxx)
下Env
文件夹下,如果你想要把虚拟环境存储在你指定的存储路径,那么就修改环境变量
新建有一个变量名叫 WORKON_HOME
,变量值就是我们自定义存放虚拟环境的地址,然后点击保存,就ok了
注:一定要重新打开一个cmd,不重新打开还是会建在(C:/Users/xxx)
下Env
文件夹下,如果还是不行的话,重启哈电脑就可以了
mkvirtualenv -p python3 VM_name
mkvirtualenv --python==D:\python\python.exe my_env #可以自己指定python路径
workon my_env
deactivate
rmvritualenv my_env
lsvirtualenv
cdvirtualenv
选择我们上面创建好的虚拟环境
注:如果不安装virtualenvwrapper,就使用下面方法创建虚拟环境,但是建议还是装上,装上使用的命令就跟上方linux使用命令一样
windows用户最好指定一个目录专门来存放创建的虚拟环境
F:
cd py_envs #这是我指定的专门存放虚拟环境的目录
virtualenv VM_name # VM_name 表示你的虚拟环境的名称
virtualenv VM_name --python==python3.6
virtualenv VM_name --python==python2.7
virtualenv VM_name --python=='D:\python\python3.6.exe'
进入你的虚拟环境,命令行前会出现你的虚拟环境名称。
cd 虚拟环境的Scripts目录 #cd py_envs/Vm_name/Scripts
activate.bat #激活虚拟环境
cd 虚拟环境的Scripts目录 #cd py_envs/Vm_name/Scripts
deactivate.bat