Python 安装 virturalenv 虚拟环境
本篇索引
一、概述
一、概述
有时候会在一台主机上安装多个不同的Python版本,用以运行不同时期开发的项目, 而在这些不同的Python版本上有时又会加装不同的库和包。因此需要一种工具来管理各个不同的Python版本和运行环境。
virtualenv工具可以为每个Python项目创建一个“独立隔离”的虚拟Python运行环境,而且每个项目都可以为自己独立的Python 运行环境加装不同的扩展包和库,而不影响其他项目。
在使用virtualenv之前,首先需要保证你的操作系统上已经安装了所需的Python版本。 比如,如果你在操作系统上已经安装了Python2.7和Python3.7,那么就可以利用 virtualenv克隆出多个多个Python2.7和Python3.7独立运行环境。 但是如果你还需要Python3.4环境,那么就必须先在操作系统上安装Python3.4版本。
virturalenv创建虚拟Python环境的结构示意图如下图所示:
二、Linux下安装Python虚拟环境
一般Linux发行版都会已经安装好一个Python版本,你只需要再安装其它你需要的Python版本就行了。 以CentOS为例,默认已安装好 Python2.7,你只要再安装一个 Python3.7 即可。 下面是虚拟环境的建立步骤:
1. 安装Python3
● 使用yum安装包方式:
# yum install python3
Python3会被自动装到 /usr/bin 目录下,其自带的 pip3 也被装到 /usr/bin 目录下, 由于pip
这个名称已经被Python2占用(非符号链接),故以后要使用 pip3 时, 只能使用:pip3 ...
的命令。最好使用普通身份来使用 pip 包安装软件。
# pip3 -- version # 查看 pip3 版本
● 手动安装方式:
(1)下载安装包:
# wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
(2)解压缩:
# tar -xvzf Python-3.7.4.tgz
(3)配置将要安装的目录:
进入解压后的Python-3.7.4目录
# ./confiture --prefix=/usr/local/python3.7.4
这样,python3包中的所有用到的文件都会安装到这个目录中。否则,待会make时, 会将一些python3的文件分散安装到系统的bin、lib等目录。不利于以后的卸载。 若是这样装,以后要卸载时,直接删除这个目录就行了。
(4)安装前置包
对于python3.7及以上版本,还需安装若干个前置包,如下:
a. 安装libffi-devel
# yum install libffi-devel -y
b. 安装zlib
# yum -y install zlib*
或:
# wget http://www.zlib.net/zlib-1.2.11.tar.gz
# tar -xvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure
# make
# make install
(5)编译、安装 Python:
# make
# makeinstall
(6)建立软链接:
在 /usr/bin 路径下:
# ln -s /usr/local/python3.7.4/bin/python3.7 /usr/bin/python3
# ln -s /usr/local/python3.7.4/bin/python3.7 /usr/bin/python3.7
注意,由于/usr/bin/yum
程序需要用到 Python2,所以我们不能修改 /usr/bin/python 这个软链接(仍指向 Python2.7)
如果一定要默认使用 Python3,可以改/usr/bin/yum
文件,将其开头第一行改为:
#!/usr/bin/python2.7
2. 安装virtualenv
(1)安装virturalenv
利用Python3可直接安装virtualenv(会默认装到/usr/local/python3.7.4/bin/路径下)。
# python37 -m pip install virtualenv
或
# pip3 install virtualenv # virtualenv --version # 查看virtualenv版本
(2)再做个软链接
ln -s /usr/local/python3.7.4/bin/virtualenv /usr/bin/virutalenv
3. 使用virtualenv建立虚拟环境
(1)新建(本用户的)总虚拟目录
$ mkdir ~/python_envs
(2)建立多个Python虚拟环境
a. 建 python27 虚拟环境
我们先建立一个名为:py27_dj111的虚拟环境,名字一目了然:Python版本2.7、 为了运行Django1.11。
$ virtualenv -p python2.7 –-no-site-packages ~/python_envs/py27_dj111
上条命令将建立一个 py27_dj111 的目录和一个干净的 Python2 环境。
b. 建 python37 虚拟环境
我们再建立一个名为:py37_dj218的虚拟环境,名字一目了然:Python版本3.7、 为了运行Django2.18。
$ virtualenv -p python3.7 –-no-site-packages ~/python_envs/py37_dj218
上条命令将建立一个 py37_dj218 的目录和一个干净的 Python3 环境。
(3)运行和退出虚拟环境
进入 ~/python_envs/py27_dj111/bin 目录,运行:
$ source activate
(py27_dj111)$
即可进入这个虚拟python环境,在命令提示符前会出现 (py27_dj111) 表示当前运行的虚拟环境。
若要退出虚拟python环境,可在任意路径下输入命令:
(py27_dj111)$ deactivate
4. 在虚拟环境下安装Django
(1)运行 py27_dj111 虚拟环境,并输入命令:
(py27_dj111)$ pip install django==1.11
(2)运行 py37_dj218 虚拟环境,并输入命令:
(py37_dj218)pip install django==2.18
三、Windows下安装Python虚拟环境
1. 安装Python
(1)下载安装包,并安装python2.7,将 python.exe 改成 python27.exe
(2)下载安装包,并安装python3.7,将 python.exe 改成 python37.exe
(3)设置环境变量PATH
增加:d:\Programs Files\Python37
、d:\Programs Files\Python27
路径, 最好将Python37的目录放到Python27的目录之前,这样命令行会优先执行Python37中的程序。
(4)从此,启动Python命令要用:python27
或python37
, 以指明是运行哪个python
2. 安装virtualenv
在d:\Program Files\Python37\Scripts
目录下,运行:
pip install virtualenv
或者,在任意目录下运行:
python37 -m pip install virtualenv
采用以上2种方法,virtualenv 会被安装到d:\Program Files\Python37\Scripts
目录下。
3. 使用virtualenv建立虚拟环境
(1)新建目录d:\Program Files\python_envs
(2)建立虚拟环境:
在d:\Program Files\Python37\Scripts
目录下运行:
virtualenv.exe -p "d:\Program Files\Python27\python27.exe" –-no-site-packages "d:\Programs Files\python_envs\py27_dj111"
上条命令将建立一个 py27_dj111 的目录和一个干净的 Python2 环境。
在d:\Program Files\Python37\Scripts
目录下运行:
virtualenv.exe -p "d:\Program Files\Python37\python37.exe" –-no-site-packages "d:\Programs Files\python_envs\py37_dj218"
上条命令将建立一个 py37_dj218 的目录和一个干净的 Python3 环境。
(3)运行和退出虚拟环境:
在d:\Program Files\python_envs\py27_dj111
目录下运行:
active
即可进入这个 python 虚拟环境。
若要退出这个虚拟环境,可在任意路径下输入命令:
deactivate
4.在虚拟环境下安装 Django
(1)运行 py27_dj111 虚拟环境,并输入命令:
pip install django==1.11
(2)运行 py37_dj218 虚拟环境,并输入命令:
pip install django==2.18
Python 安装 virturalenv 虚拟环境的更多相关文章
- ubuntu python 安装使用虚拟环境 virtualenv
1,虚拟环境是干啥用的? 我在电脑上装了cuda,显卡驱动,cudnn等一堆配套文件,然后又依赖于cuda和驱动安装了tensorflow2.0的gpu测试版,不知为何,我每次跑完tf2程序电脑都会卡 ...
- python安装virtualenv虚拟环境步骤
一.安装virtualenv 点击左下角最边上菜单栏输入cmd,打开命令行 2.根据版本的不同输入命令pip install virtualenv(或者pip3 install virtualen ...
- Python安装和虚拟环境创建以及外部库的安装
Python.虚拟环境.外部库的安装 一 安装Python 1 Windows 到官网下载对应的版本 下载地址 我选择的是Python3.6.8 下载完成后双击运行 !!!勾选Add Python 3 ...
- centos下python安装与虚拟环境配置
Centos7下安装Python3.7 首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可,笔者曾安装python3未成功就是因为没有安装libf ...
- Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用
Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...
- virtualenvwrapper 虚拟环境的使用 和 python 安装源的更改
virtualenvwrapper 虚拟环境的使用 鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper. virtualenvwrapper提供了一系 ...
- 分布式爬虫搭建系列 之一------python安装及以及虚拟环境的配置及scrapy依赖库的安装
python及scrapy框架依赖库的安装步骤: 第一步,python的安装 在Windows上安装Python 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Pyt ...
- virturalenv 虚拟环境
一.window系统 1.virtualenv的使用 2.pycharm使用 环境变量,path的作用:命令行中执行的命令,他们的路径,必须在path路径中,如果命令行找不到该命令,就是说path没写 ...
- Ubuntu-linux云服务器下安装开启虚拟环境失败解决办法
为什么要安装虚拟环境? 1.某些项目需要安装旧的包,开发相应功能 2.项目开发时,安装部分环境不希望影响整机环境 如何安装? 首先安装python 安装pip工具 sudo apt-get insta ...
随机推荐
- Luogu P1280 尼可的任务(dp)
题意: 时间为n,有k个任务,每个任务有一个开始时间和持续时间,从第一分钟开始,如果有开始的任务就要做,问最大空闲时间 n,k<=1e5 思路: 设 dp[i]为i~n时间中最大空闲时间,vec ...
- 【题解】战争系列-截获密文I
给你一个最短代码: #include <iostream> #include <string> int main(){ std::string str; std::cin &g ...
- 详解SkipList跳跃链表【含代码】
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天继续介绍分布式系统当中常用的数据结构,今天要介绍的数据结构非常了不起,和之前介绍的布隆过滤器一样,是一个功能强大原理简单的数据结构.并且 ...
- 如何用Python实现do...while语句
我在编程的时候可能会遇到如下代码: a = 0 while a != 0: a = input() print a 我所设想的运行过程是这样的: 很显然我是想先运行后判断的模式,即 do...whil ...
- 和内嵌的iframe进行通讯
利用内置iframe进行通讯 1. 在当前网页设置iframe网页(监听iframe发来postmessage消息事件) a. 外部网页接收数据: 回调方法,其中e.data为传入数据: const ...
- MacBook Pro突然蓝牙突然消失
刚才想用蓝牙,发现蓝牙居然不可用,硬件信息也无法找到,分享一个方法:
- 解决egg-mysql连接数据库报错问题
遇到这个问题,我在网上找了好多资料,最终于解决了!!!★,°:.☆( ̄▽ ̄)/$:.°★ . 我遇到的问题是这样的:链接mysql完全按照官网上做的,但是在yarn dev 时就是一直报错,错误我就不 ...
- python 學習深淺拷貝、集合、、作用域、函數
python 學習深淺拷貝.集合..作用域.函數 2020開年新冠肺炎流行大部分人員.工廠.單位無法復工生產,人員隔離每天外出都要戴口罩,在家隔離期間悶壞了感覺把半年的口糧都幹掉了,嚴重考察大家的資本 ...
- 【转载】ibit-mybatis介绍
原文链接:ibit-mybatis介绍 概述 ibit-mybatis是一个Mybatis的增强工具,在Mybatis的基础上增加了新的特性与功能,志在简化开发流程.提高开发效率. 特性 无侵入 ...
- java面向对象入门(1)-入门介绍
在本 Java OOPs 概念教程中,我们将学习四种主要的面向对象原则 -- 抽象.封装.继承和多态性.它们也被称为面向对象编程范式的四大支柱. _抽象_是在不考虑无关细节的情况下公开实体基本细节的过 ...