在进行python的开发过程中一直倡导使用虚拟环境来进行项目隔离,这样不会因为python的包不同而导致各种问题,但是以往为了图省事简单,安装包就一直使用pip install 进行全局安装,这样做其实很不好,最近也开始尝试使用虚拟环境来对项目进行隔离开发。
在python中一般情况下有两套方案,一种是使用virtualenv/venv 方式,还有一种是使用pipenv,但是看到网上对于pipenv这个项目有些非议,就目前来说项目的issue和pr很多,但是开发者似乎不太想要对其进行维护,所以还是先尝试比较成熟稳定的virtualenv/venv方式吧,至于pipenv 以后再进行尝试。
我所考虑的几个问题
- 如何创建一个虚拟隔离环境
- 如何在虚拟环境中安装包
- 如何使用国内的镜像源加速
- 如何迁移项目到别的机器上
现在主要在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来创建
在New environment using 的下拉选项中选择 Virualenv,在Base interpreter 中使用python 3.5 ,这里列出了系统中安装的python版本。如果没有列出的话也可以点击后面的… 来手工选一下。
以上就是python中如何使用虚拟环境的详细内容,更多关于python 虚拟环境的资料请关注其它相关文章!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]