在开发过程中,往往同一台电脑要开发不同的项目,不同的项目可能需要不同版本的包,为了解决这个问题就引出了虚拟环境。

配置虚拟环境:

1.安装虚拟环境:

sudo pip3 install virtualenv  

2.安装虚拟环境扩展包:

sudo pip3 install virtualenvwrapper

3.修改用户家目录下的配置文件.bashrc,添加如下内容:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

4.使用source .bashrc命令使配置文件生效。

此时可能会出现这样的错误:

/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.

系统默认用的是python2的解释器,这就需要我们将python3的解释器添加到环境变量:

4.1打开系统环境变量文件:

vi /etc/profile

4.2添加python3:

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

4.3使用source /etc/profile命令使配置文件生效。

4.4再次执行source .bashrc命令使配置文件生效。

5.创建python3虚拟环境的命令如下:

mkvirtualenv -p python3 虚拟环境名称
  • 创建成功后,会自动工作在这个虚拟环境上。
  • 创建虚拟环境需要联网。
  • 工作在虚拟环境上,提示符最前面会出现"(虚拟环境名称)"。
  • 所有的虚拟环境,都位于/home/python/下的隐藏目录.virtualenvs下。

6.可以将之前用过的完整项目需要的包完全导过来进行安装:

6.1先将之前项目中的安装包倒入到一个文件夹中:

pip freeze > package.txt

6.2切换到刚才新创建好的虚拟环境中,安装package.txt中的包:

pip install -r ./package.txt   # 将package.txt放到了家目录下,并且系统也切换到了家目录下。

此时可能会出现这样的情况:

出现红色字体,然后就停止了安装。解决办法:观察红色字体描述的是哪个包安装出现了问题,换个版本号或者直接注释掉,等全部安装完再单独安装这个包。

当最后出现这几行,就说明全部安装成功:

6.3 cd .virtualenvs/django_py3/lib/python3.5/site-packages/ 可以查看刚才安装的所有的包:

7.退出虚拟环境的命令如下:

deactivate

8.删除虚拟环境的命令如下:

rmvirtualenv 虚拟环境名称

9.查看虚拟环境命令:workon tab键两下

10.进入虚拟环境命令:workon 虚拟环境名称

python框架之虚拟环境的配置的更多相关文章

  1. python为何需要虚拟环境--Python虚拟环境的安装和配置-virtualenv

    一 虚拟环境 virtual environment 它是一个虚拟化,从电脑独立开辟出来的环境.通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容 ...

  2. Python虚拟环境的配置

    Python中,配置虚拟环境主要是为了防止版本之间的冲突,我是这么理解的: 1.用虚拟环境可以在一个电脑中使用多个Python解释器以及扩展: 2.可以方便的在同一台电脑中使用多个版本的代码. 虚拟环 ...

  3. Python的Django框架中的URL配置与松耦合

    Python的Django框架中的URL配置与松耦合 用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比 ...

  4. python虚拟环境的配置-ubuntu 18.04后

    python虚拟环境的配置 安装相关包 pip install virtualenv pip install virtualenvwrapper 配置~/.bashrc 加入以下内容: ------- ...

  5. python框架之django

    python框架之django 本节内容 web框架 mvc和mtv模式 django流程和命令 django URL django views django temple django models ...

  6. 第六篇:web之python框架之django

    python框架之django   python框架之django 本节内容 web框架 mvc和mtv模式 django流程和命令 django URL django views django te ...

  7. Hadoop的Python框架指南

    http://www.oschina.NET/translate/a-guide-to-Python-frameworks-for-Hadoop 最近,我加入了Cloudera,在这之前,我在计算生物 ...

  8. PythonWeb框架Django:虚拟环境安装(virtualenv)

    虚拟环境的用处: 当我们有多个项目要使用不同的第三方类库的时候,就会发生冲突,因为Python的环境内只允许一个版本的第三方类库. 比如说 有A,B两个Web项目,但是A项目的Django的环境为2. ...

  9. ubuntu python 安装使用虚拟环境 virtualenv

    1,虚拟环境是干啥用的? 我在电脑上装了cuda,显卡驱动,cudnn等一堆配套文件,然后又依赖于cuda和驱动安装了tensorflow2.0的gpu测试版,不知为何,我每次跑完tf2程序电脑都会卡 ...

随机推荐

  1. 【03】json使用

    [03]json使用   把 JSON 文本转换为 JavaScript 对象 JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 J ...

  2. 49. spring boot日志升级篇—理论【从零开始学Spring Boot】

    我们之前在其中的一篇文章介绍过如何在spring boot中使用日志记录SLF4J. Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如 ...

  3. COJ 1411 Longest Consecutive Ones

    题目大意: 希望在 k 步之内,将尽可能多的1移到相邻的位置上 这里依靠前缀和解决问题 我们用pos[i]保存第i个1的位置,这里位置我以1开始 用sum[i]保存前 i 个1从 0 点移到当前位置所 ...

  4. [luoguP1417] 烹调方案(背包DP)

    传送门 By tinylic 如果没有b[i]这个属性的话就是明显的01背包问题. 现在考虑相邻的两个物品x,y.假设现在已经耗费p的时间,那么分别列出先做x,y的代价: a[x]-(p+c[x])* ...

  5. noip模拟赛 蒜头君的排序

    分析:其实就是求m个区间的逆序对个数,题目真的是明摆着让我们用莫队算法,套用树状数组就可以了. 具体怎么转移呢?如果移动R,那么对区间[l,r]有影响的是R左边的元素,我们只需要看有多少在R左边比a[ ...

  6. Nth Largest Value

    Problem Description For this problem, you will write a program that prints the Nth largest value in ...

  7. MyBatis3-代码生成工具的使用

    以下内容引用自http://www.yihaomen.com/article/java/331.htm: MyBatis应用程序,需要大量的配置文件,对于一个成百上千的数据库表来说,完全手工配置,这是 ...

  8. CocoaPods: 制作cocoapods国内镜像

    制作cocoapods国内镜像∞ March 15, 2014 Tags:cocoapods 国内访问cocoapods spec repo速度非常慢,网络不好的话做一次pod update要等半个小 ...

  9. 新博客有了,文章转移到 http://www.iosxxx.com/

    文章转移到 http://www.iosxxx.com/ ,敬请大家关注

  10. LeetCode 824. Goat Latin (山羊拉丁文)

    题目标签:String 首先把vowel letters 保存入 HashSet. 然后把S 拆分成 各个 word,遍历每一个 word: 当 word 第一个 字母不是 vowel 的时候,把第一 ...