python中如何使用虚拟环境


Posted in Python onOctober 14, 2020

在进行python的开发过程中一直倡导使用虚拟环境来进行项目隔离,这样不会因为python的包不同而导致各种问题,但是以往为了图省事简单,安装包就一直使用pip install 进行全局安装,这样做其实很不好,最近也开始尝试使用虚拟环境来对项目进行隔离开发。

在python中一般情况下有两套方案,一种是使用virtualenv/venv 方式,还有一种是使用pipenv,但是看到网上对于pipenv这个项目有些非议,就目前来说项目的issue和pr很多,但是开发者似乎不太想要对其进行维护,所以还是先尝试比较成熟稳定的virtualenv/venv方式吧,至于pipenv 以后再进行尝试。
我所考虑的几个问题

  1. 如何创建一个虚拟隔离环境
  2. 如何在虚拟环境中安装包
  3. 如何使用国内的镜像源加速
  4. 如何迁移项目到别的机器上

现在主要在python3中开发,所以就直接使用venv的方式吧,virtualenv和venv方式差不多,如果你是在python2中那么就使用virtualenv吧。

如何创建一个虚拟隔离环境

创建目录,并使用命令创建虚拟环境

mkdir venvtest
cd venvtest
python3 -m venv venttest

我是在windows环境下,执行完上面的命令以后会在venvtest目录下venvtest目录,这个目录下有python3环境的基础标准库,并不包含你在全局环境中安装的第三方包。

调用虚拟环境的\Scripts\activate 命令就可以激活虚拟环境,激活虚拟环境以后,命令行提示符前会显示当前虚拟环境的名字:(venttest) E:\venvtest>

安装第三方库

和全局安装一样,使用pip install 命令,只不过这次是安装到了虚拟环境,如运行pip install requests命令,运行之后再查看venvtest\venttest\Lib\site-packages 中就会有requests库了,但是前提一定要使用activate激活当前的虚拟环境,要不就安装到了全局的python site-packages目录里了。

如何使用国内的镜像源加速

在虚拟机环境中使用pip 读取的是全局的镜像回事配置,就是要创建一个环境变量HOME,然后在HOME环境变量的目录下创建pip目录,再创建一个pip.ini,写入

[global]
index-url = https://mirrors.aliyun.com/pypi/simple

我这里使用的是阿里云的镜像加速。

如何迁移项目到别的机器上

我这里简单使用Flask创建一个hello world的项目

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
 return '欢迎来到我的世界'

在激活虚拟环境的情况下使用flask run 命令来运行服务,此时因为flask安装在虚拟环境中,即使全局python环境中没有flask也可以运行,但一定要在激活虚拟环境的状态。

如何迁移项目

换一个电脑开发或者在多人开发的情况下,需要怎么迁移项目呢?
简单的方式是直接将原虚拟环境直接打包到新的目录,然后修改一个相应的目录配置。
主要是Script\activate.bat 将里面的
set "VIRTUAL_ENV=E:\vtest\venttest" 修改为新的路径。
还有一种方式是在原虚拟环境下备份出第三方库列表,然后在新环境中重新安装。
备份列表命令使用pip freeze > requirements.txt 将该虚拟环境安装的第三方包备份到requirements.txt,在新的环境使用pip install -r requirements.txt 进行安装,使用pip freeze 命令也会同时将第三方库的版本信息备份,这样也保证了迁移以后的前后版本一致。
新电脑上也要安装相同使用的python主环境,如你的虚拟环境是pyhon3,新环境只有python2,那也是不行的。
但是之前做项目的时候对第三方库源码进行了修改,这里也需要同时修改一下。

pycharm项目配置虚拟环境

pycharm 在创建项目的时候可以直接使用venv来创建

python中如何使用虚拟环境

在New environment using 的下拉选项中选择 Virualenv,在Base interpreter 中使用python 3.5 ,这里列出了系统中安装的python版本。如果没有列出的话也可以点击后面的… 来手工选一下。

以上就是python中如何使用虚拟环境的详细内容,更多关于python 虚拟环境的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python判断字符串是否纯数字的方法
Nov 19 Python
Python实现的归并排序算法示例
Nov 21 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Django的性能优化实现解析
Jul 30 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
python剪切视频与合并视频的实现
Mar 03 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
python程序如何进行保存
Jul 03 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
python通过opencv调用摄像头操作实例分析
Jun 07 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 Python
Python 3.9的到来到底是意味着什么
Oct 14 #Python
python破解同事的压缩包密码
Oct 14 #Python
如何Tkinter模块编写Python图形界面
Oct 14 #Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 #Python
如何利用Python 进行边缘检测
Oct 14 #Python
python从Oracle读取数据生成图表
Oct 14 #Python
python获取linux系统信息的三种方法
Oct 14 #Python
You might like
php导出excel格式数据问题
2014/03/11 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
Python XML RPC服务器端和客户端实例
2014/11/22 Python
在Python中使用HTML模版的教程
2015/04/29 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
Flask框架配置与调试操作示例
2018/07/23 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
python对html过滤处理的方法
2018/10/21 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
Python基于requests库爬取网站信息
2020/03/02 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
会议接待欢迎词
2014/01/12 职场文书
优秀教师事迹简介
2014/02/02 职场文书
团购业务员岗位职责
2014/03/15 职场文书
创先争优活动心得体会
2014/09/04 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电