详解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 lxml模块安装教程

lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不...

python 字典(dict)遍历的四种方法性能测试报告

python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试 l = [(x,x) for x in xrange(10000)] d = dict(l)...

详解Python 多线程 Timer定时器/延迟执行、Event事件

Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征。这个类用来定义多久执行一个函数。 它的实例是能够延迟执行目标函数的线程,在真正执行目标函数之前,都...

python 中的list和array的不同之处及转换问题

python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,...

python 根据pid杀死相应进程的方法

用python语言实现根据pid杀死相应进程 kill_process.py代码如下 #! /usr/bin/python # -*- coding: utf-8 -*- impo...