网站首页 程序开发 python开发之virtualenv与virtualenvwrapper讲解
在使用 Python
开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;
亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。
此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。
这里,就要隆重介绍 virtualenv
,一个可以帮助我们管理不同 Python
环境的绝好工具。
virtualenv
可以在系统中建立多个不同并且相互不干扰的虚拟环境。
pip3 install virtualenv
执行将virtualenv
的二进制可执行文件软链接到/usr/bin
目录即可。ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
安装虚拟环境包装器的目的是使用更加简单的命令来管理虚拟环境。pip3 install virtualenvwrapper
修改用户home目录下的配置文件.bashrc,添加如下内容:
export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/python3/bin/virtualenvwrapper.sh
使用source .bashrc
命令使配置文件生效。
注意:有时候/usr/local/python3/bin/virtualenvwrapper.sh
并不一定是在这个路径下,可以按照下面的方法查找一下。
[root@centos6-test ~]# find / -name 'virtualenvwrapper.sh' /usr/local/python3/bin/virtualenvwrapper.sh
[root@centos6 ~]# ls /usr/local/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh [root@centos6 ~]# cd ~ [root@centos6 ~]# vim .bashrc export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh [root@centos6 ~]# source .bashrc -bash: /root/pyenv/python27/bin/activate: No such file or directory virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkproject virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkproject virtualenvwrapper.user_scripts creating /root/.virtualenvs/initialize virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkvirtualenv virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkvirtualenv virtualenvwrapper.user_scripts creating /root/.virtualenvs/prermvirtualenv virtualenvwrapper.user_scripts creating /root/.virtualenvs/postrmvirtualenv virtualenvwrapper.user_scripts creating /root/.virtualenvs/predeactivate virtualenvwrapper.user_scripts creating /root/.virtualenvs/postdeactivate virtualenvwrapper.user_scripts creating /root/.virtualenvs/preactivate virtualenvwrapper.user_scripts creating /root/.virtualenvs/postactivate virtualenvwrapper.user_scripts creating /root/.virtualenvs/get_env_details[root@centos6 ~]# [root@centos6 ~]# ls -ll -a | grep virdrwxr-xr-x 2 root root 4096 May 28 15:49 .virtualenvs[root@centos6 ~]#
创建一个虚拟环境: $ mkvirtualenv my_django115 这会在 ~/Envs 中创建 my_django115 文件夹。 在虚拟环境上工作:激活虚拟环境my_django115 $ workon my_django115 再创建一个新的虚拟环境 $ mkvirtualenv my_django2 virtualenvwrapper 提供环境名字的tab补全功能。 当有很多环境, 并且很难记住它们的名字时,这就显得很有用。 workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换 workon django1.15workon django2.0也可以手动停止虚拟环境 deactivate 删除虚拟环境,需要先退出虚拟环境 rmvirtualenv my_django115 步骤四:常用其他命令
lsvirtualenv 列举所有的环境。 cdvirtualenv 导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。 cdsitepackages 和上面的类似,但是是直接进入到 site-packages 目录中。 lssitepackages 显示 site-packages 目录中的内容。 完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html