python虚拟环境的目录是啥_Python 虚拟环境
前言
有的时候因为各种原因,在操作系统下,我们会安装很多版本的Python解释器。同样,我们也有可能因为各种原因,需要不同版本的模块,比如Django1.8,Django1.11。再加上pip工具管理器的版本混乱问题。这就使得很多人在Python的环境管理上产生极大的混乱。
通常每个项目,甚至项目不同阶段的版本,需要不同的Python解释器和依赖库。为了清晰明了,安全可靠的管理这些环境,需要为每个项目或每个应用各自建立一套“独立、隔离”的Python运行环境。
virtualenv就是用来为每一个项目创建一套“独立隔离”的Python运行环境的工具。
特别提醒:如果安装了多个 Python 版本且重命名了 python.exe(如python27.exe、python36.exe),那么在执行 pip2.7 或 pip3.6 会报致命错误!解决办法是修改对应的 pip.exe 文件中调用 python 的路径(如将c:\python36\python.exe修改为c:\python36\python36.exe)。
安装virtualenv
以windows操作系统为例,要安装virtualenv,建议直接使用当前环境变量下指定的pip,也就是你操作系统默认的那个python版本所绑定的pip,这样方便命令调用。通常如下:
pip install virtualenv
可以在命令行界面中验证安装:where virtualenv
建立虚拟环境
在命令行执行:virtualenv –p "真实python解释器可执行程序" –-no-site-packages "虚拟python环境完整路径",如:
virtualenv –p C:\Python35\python.exe –-no-site-packages E:\CMDB_Vir
提示:若添加了Python环境变量,则-p参数可直接写python。--no-site-packages非必须。
-p: 指定你要虚拟的Python版本,这里选择了本地的python3.5;
–-no-site-packages:表示在建立虚拟环境时不将原版本中的第三方库拷贝过来,这样就能获得一个纯净的Python环境;(新版virtualenv好像改为"--clear"了 ?)
E:\CMDB_Vir:表明在该目录下,建立一个叫做"CMDB_Vir"的虚拟环境。
使用虚拟环境
强烈建议将新建的虚拟环境中的 python 添加到系统环境变量中!
命令行下,进入你要使用的虚拟环境的目录下的script文件夹,运行 activate命令。或者使用绝对路径的方式调用该命令。
必须注意命令提示符的开头(CMDB_Vir),它表示你当前在CMDB_Vir这个虚拟环境内。现在,你可以当做一个正常的Python环境使用。例如运行python命令,又或者使用pip安装第三方库pip install requests。这些都被限制和绑定在CMDB_Vir这个虚拟环境内,不会对操作系统下本地的Python版本和其它的虚拟环境产生任何的影响!
新建Django工程:
1.在虚拟环境中,安装Django库:pip install django==1.11
2.在虚拟环境中,进入虚拟环境目录,新建Django工程:(1) cd E:\CMDB_Vir (2) django-admin startproject djweb
3.用PyCharm打开Django工程根目录:(1) 需要手动设置选择虚拟环境Python解释器 (2) 新建app:python manage.py startapp webapp
温馨提示:
如果是拷贝的Django项目,且包含了 requirements.txt 文件,可以一键安装所需模块。进入虚拟环境,然后:
pip install -r requirements.txt #注意是requirements.txt的完整路径或相对路径
留意:执行以上命令的前提是,已使用命令 "pip freeze > requirements.txt" 把项目环境的依赖库信息导出到 requirements.txt 文件里了。
退出虚拟环境
要退出虚拟环境,只要运行script目录下的 deactivate 命令就可以了。
删除虚拟环境
要删除虚拟环境,直接删除虚拟环境所在的目录就可以了,注意不要将其它的环境给删了。但是,删除虚拟环境后,所有以前使用该环境的工程都将受到影响。这点很好理解,所以请确保环境不再有需要再删除!
linux操作系统下的使用
创建虚拟环境: $ virtualenv -p /usr/bin/python3.5 –-no-site-packages /my_venv
启动虚拟环境: $ source /my_venv/bin/activate
退出虚拟环境: $ deactivate
删除虚拟环境: $ rm –rf my_venv
Pycharm使用虚拟环境
因为Pycharm集成了 virtualenv 等虚拟环境工具,故可通过Pycharm帮助创建Python虚拟环境,只需要在设置中指定基本Python解释器进行创建。(不太明白?点这里)
虚拟环境迁移
注意事项:直接将虚拟环境复制到另一台机器,直接执行是会有问题的。
那么可以采用以下办法。
思路:将机器1虚拟环境下的所有模块打包,复制到机器2上进行安装。有两种情况要考虑,机器2无网络和有网络情况(无网,证明无法在线安装包,那么就需要将机器1模块整体打包成".whl",然后到机器2安装;有网情况,只需将模块信息导出,然后到机器2上在线安装)
机器1:
1.首先在cmd命令行下,激活虚拟环境;
2.在项目目录下新建一个whl文件夹(用来存储我们依赖包)然后在虚拟环境cmd命令下切换到whl目录执行pip freeze>requirements.txt;
3.机器2无网络的情况下,先在机器1上将包下载到whl目录下(有网也可以用此方法,这样可以减少在机器2下载安装包时间)。在whl目录下执行虚拟环境cmd命令 pip download -d . -r requirements.txt (注意--download后边的点,代表是下载到当前目录,并且requirements.txt存在于当前目录中,否则会报错);
机器2:
1.新建虚拟环境,并将项目目录放入该虚拟环境中;
2.激活虚拟环境;
3.虚拟环境cmd命令进入机器1复制过来的项目下whl目录,并执行安装命令。
1)有网情况通过requirements.txt包信息安装:pip install -r requirements.txt
2)无网情况通过机器1下载的包安装:pip install --no-index --find-links=. -r requirements.txt (注意命令中的.点 代表是当前目录也就是whl目录,也是下载的包和requirements.txt所在目录)
以上步骤完成后,就可以在机器2正常使用虚拟环境了。
至此,转载请注明出处。
python虚拟环境的目录是啥_Python 虚拟环境相关推荐
- python导入上级目录下文件_python import 上级目录的导入
python import 上级目录的导入 有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,我们想要在_train.py里import在networks目录下的_l ...
- anaconda要和python安装在一个目录下吗_Python开发环境配置,Anaconda的安装!
Anaconda的介绍 Anaconda是Python的一个科学计算发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存.切换 ...
- python 引用其他目录py文件_Python引用其他文件夹下的py文件
非常重要的注意事项:如果使用了网上很多方法都没有搞定python引用其他文件夹下py文件,请确保你运行主程序的时候不是直接拖到dos窗口中执行的! 导入的文件命名必须符合Python命名标准,不能是纯 ...
- python中的目录是什么_python | Linux各目录及每个目录的详细介绍
[常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点 ...
- python 创建目录_Python虚拟环境的搭建与使用
前言 在开发中很多时候不同的项目会需要用的不同版本的包,甚至是不同版本的Python,而使用虚拟环境就可以轻松解决问题.虚拟环境通过创建一个全新的Python开发环境,从而实现不同项目间的隔离. 虚拟 ...
- 支持python开发的环境有哪些特点_Python虚拟环境详细教程,一篇带你入坑
Python 之所以强大,除了语言本身的特性外,更重要的是拥有无所不及的第三方库.强大的软件库,让开发者将精力集中在业务上,而避免重复造轮子的浪费.但众多的软件库,形成了复杂的依赖关系.今天我们就来了 ...
- python venv文件夹_Python虚拟环境Venv
当你的项目比较复杂,对模块版本要求不一时,不需要安装多个 Python,只需要配置虚拟环境即可.提起虚拟环境,很多人都会想到 Virtualenv,实际上从 Python3.3 版本开始内置了 Ven ...
- 怎么进入python 的venv文件夹_python虚拟环境模块venv使用及示例
相信只要学习python的同学对于虚拟环境这个概念肯定不会太陌生,虚拟环境指的是一个个单独隔离的python开发环境.各个虚拟环境之间互不干扰,都有自己独立的开发包.就像是在电脑上装了很多个虚拟机,每 ...
- python删除venv虚拟环境_python虚拟环境--virtualenv
简介 virtualenv 是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包. 安装 pip install vi ...
最新文章
- 硬盘突然提示没有初始化_分享一下固态硬盘不认盘的修复方法
- 「每日分享」CPU Cache 与缓存行
- 另类vs2015+xamarin 的android界面乱码 解决
- org.hibernate.transientobjectexception:The given object has a null identifier: com.gxuwz.check.entit
- vant显示日期格式_Vue+Vant ui实现日期时间选择
- 【PAT - 甲级1006】Sign In and Sign Out (25分)(STLmap)
- 利用Python只需3行代码即可生成验证码
- mysql ignore caps_mysql优化之sql语句优化
- myeclipse jsp和java字体设置
- Java基础教程【第四章:Java流程控制】
- mysql5.7.23分区表_MySQL5.7.23 VS MySQL5.6.21 分区表性能对比测试
- iOS开发之cocoapods报错问题You need at least git version 1.8.5 to use CocoaPods
- 长春会展中心11月5日招聘会部分信息
- 操作系统——实验一(Linux基本操作)
- 根据android版本号,增加兼容性处理
- 2017年个人目标及计划
- 内网渗透靶场 Vulnstack(二)
- 测绘界超强工具箱!CADCASS实用插件合集,各种功能应有尽有!断面、高程点、等高线、三角网、拓扑检查...
- 转载:深入浅出的讲解傅里叶变换
- 腾讯、百度、高德、谷歌、天地图地图瓦片