windows上使用pyvenv进行项目隔离

最近在进行个人博客迁移,因为阿里云服务和域名服务都到期了,得知腾讯云对于学生更优惠后,我选择了把博客迁移到腾讯云上,腾讯云的学生认证入口:学生认证。目前每天只有200个名额,需要的童鞋手要快。由于博客迁移一次,就要安装一次相应的库,有的时候并不知道自己项目中装了些啥三方库,所以只有边试错边部署,很费精力,所以便萌生了使用pyvenv构建虚拟目录进行部署项目。

查阅了网上的一些资料发现,很多都是基于linux平台的,基于windows平台的特别少。所以我打算把过程记录下来。方便自己,也方便他人。

python3.4开始,就已经自带了pyvenv,我使用的是python3.5。如果版本低于3.4,可以使用pip安装virtualenv这个库,它们用法基本一致。

先切换到你需要放置项目的目录,然后在命令行中使用pyvenv新建虚拟环境:

python -m venv test

这个命令执行完成之后,当前目录会新建一个名为test的目录,里面就是虚拟环境。

激活虚拟环境,需要先切换到 test/Scripts/目录下,执行activate.bat这个批处理,这个就和linux有所区别:

cd test/Scripts

activate

激活虚拟环境后的命令行,最前面会出现项目名称, 比如下面:

(test) C:\Users\Administrator\test\Scripts>

虚拟环境中的python并没有安装扩展库(pip除外),我们通过pip在虚拟环境中安装的任何扩展库都只对当前虚拟环境(test)有效,对真实的环境和别的虚拟环境都没有效。比如我们继续执行以下命令安装requests库:

pip install requests

然后导入它:

import requests

这个是可以运行的。如果我们的真实环境没装requests的话,我们使用这条命令就会报错。换句话说,就是虚拟环境和真实环境、还有别的虚拟环境都各不影响。

激活虚拟环境后可以安装各种库,执行各种操作了,怎么退出虚拟环境呢?

deactivate

这个命令不必切换到 test/Scripts, 哪里都可以执行。

这里说完了虚拟环境的激活和退出,下面说说从A环境迁移到B虚拟环境怎么重建依赖的问题,这也是我自己运用虚拟环境的一个很重要的原因。

先在A环境中把所有依赖都保存到re.txt中,使用pip freeze:

pip freeze > re.txt

这时会在当前目录生成re.txt,通过记事本可以直接打开:

notepad re.txt

可以看到类似内容:
<pre>
Flask==0.11.1
Flask-Login==0.3.2
Flask-SQLAlchemy==2.1
</pre>

我们可以修改该文件来改变我们虚拟环境的相关依赖,比如我们不需要Flask,直接删除Flask==0.11.1即可。

这个文件怎么用呢,我们先激活B虚拟环境,然后可以一条命令安装所有依赖:

pip install -r re.txt

到此,B虚拟环境和A环境的依赖就一样了。还有一点我需要说明,有的扩展库通过pip install的方式安装可能会出现问题(比如 lxml),那么通过上面那条命令安装也会失败,这种扩展库我们只有去这里下载编译好的.whl文件进行单独安装。先在虚拟环境中安装wheel(pip install wheel),然后就可以直接用pip命令安装.whl文件了。

关于python在win平台上的虚拟环境的知识大概就如此了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容