详解python配置虚拟环境

yipeiwu_com7年前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中反射和描述器总结

反射 在Python中,能够通过一个对象,找出type、class、attribute或者method的能力,成为反射。 函数与方法 内建函数: getattr(object,name[...

Python中模拟enum枚举类型的5种方法分享

以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码 代码如下: # way1 class Directions:     up = 0  ...

python 写入csv乱码问题解决方法

需求背景 最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件。附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存...

Python干货:分享Python绘制六种可视化图表

Python干货:分享Python绘制六种可视化图表

可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的。对于初学者来说,很容易被这官网上众多的图表类型给吓着了,由于种类太多,几种图表的...

Python Requests 基础入门

首先,Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 不友好。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各...