详解python配置虚拟环境

yipeiwu_com6年前Python基础

python中通过虚拟化出来一个空间,与主环境完全隔离,避免项目中对于环境要求,造成的插件版本混乱(python特别吃环境)

mac 的配置

前文已经说过python3的安装,我们基本在生产电脑上只是用python3和pip3但是命令行每次都需要写上版本数字很麻烦,这里作者教大家一个一劳永逸的办法

  1. 打开终端
  2. sudo vi ~/.bash_profile
  3. 输入密码
  4. 在配置文件中添加
alias pip=pip3
alias python= python3

 在其他系统中同理设置,这样我们在pip的时候就是pip3,python的时候就是python3

打开终端下载虚拟环境需要的库

sudo pip install virtualenv
sudo pip install virtualenvwrapper

这个时候我们在命令行中输入 mkvirtualenv -p python3 虚拟环境名称的时候,会报错,说mkvirtualenv没有这个命令

原因是我们我们配置虚拟环境的环境变量,包括workon我们也无法使用

打开终端

which virtualenvwrapper.sh

sudo vi ~/.bash_profile

添加下面的代码

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_SCRIPT=/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh

注意:所有的路径都必须要和你的安装路径是一样的

python3的安装路径

这个时候我们就可以使用之前的命令了

创建虚拟环境(必须要加上版本号,不然默认python2)

mkvirtualenv -p python3 虚拟环境名称
workon            虚拟环境名
deactivate          退出虚拟环境
rmvirtualenv 虚拟环境名称              删除虚拟环境
which python             可以查看虚拟环境的python的路径

ubuntu18.04的配置

前面的配置都是一样的,需要修改一个路径配置文件

which virtualenvwrapper.sh     查看虚拟环境的配置文静路径
sudo vi 虚拟环境的配置文件路径
将   VIRTUALENVWRAPPER_PYTHON="$(command \which python)
改为   VIRTUALENVWRAPPER_PYTHON="$(command \which python3)

mkdir $HOME/.virtualenvs
mkdir $HOME/workspace
sudo vi ~/.bashrc



if [ -f ~/.local/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspaceexport PROJECT_HOME=$HOME/workspace
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source ~/.local/bin/virtualenvwrapper.sh
fi

 注意这里的配置文件路径需要核对之后在粘贴,不然会报错

保存修改的配置信息

source vi ~/.bashrc

以上所述是小编给大家介绍的python配置虚拟环境详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python中面向对象你应该知道的一下知识

0x00 is与== ==运算符是比较两个对象的内容是否相等,默认情况是调用对象的__eq__方法进行比较;而is是比较两个对象是否一样,它比较的两个对象的id,即它们的内存地址是否相...

Python列表list解析操作示例【整数操作、字符操作、矩阵操作】

Python列表list解析操作示例【整数操作、字符操作、矩阵操作】

本文实例讲述了Python列表list解析操作。分享给大家供大家参考,具体如下: #coding=utf8 print ''''' Python在一行中使用一个for循环将所有值放到...

在django view中给form传入参数的例子

在django的form表单会出现,在form的验证或者保存时需要非form中的field的信息参数。例如在对操作进行记录,我们需要根据将记录的操作人设置为当前的用户,所以在view中我...

python编写简单端口扫描器

python编写简单端口扫描器

本文实例为大家分享了python编写简单端口扫描器的具体代码,供大家参考,具体内容如下 直接放代码 此代码只支持扫描域名,要扫描IP请自己修改 from socket import...

Python中的类学习笔记

Python中的类学习笔记

Python使用中面向对象的语言,支持继承、多态; 定义一个Person类: 复制代码 代码如下: >>> class Person: ... def sayHello...