游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

如何为python项目创建虚拟环境

  我们在开始一个python项目,而不是几行简单的代码时,我们倾向于开始使用第三方的dependencies。当项目越来越大时,我们需要考虑如何有效的管理这些第三方库。当安装第三方库时,我们肯定是想安装在虚拟环境中。帮助我们保持我们实际系统环境的干净,避免打乱整个系统python环境。我们为什么需要python的虚拟环境?
  我们可以使用pip把第三方库安装到python项目中。一个项目中往往要安装多个,鉴于安装的第三方库的各种版本,可能会导致一些兼容和运行的问题。
  当我们在python项目中使用pipinstall,我们是安装到全局python下的,将会根据现有的python版本安装第三方包。
  我们可以通过以下命令来查找python的安装目录:pythoncimportsys;print(。join(sys。path))输出:C:UsersAdministrator。AppDataLocalProgramsPythonPython36python36。zipC:UsersAdministrator。AppDataLocalProgramsPythonPython36DLLsC:UsersAdministrator。AppDataLocalProgramsPythonPython36libC:UsersAdministrator。AppDataLocalProgramsPythonPython36C:UsersAdministrator。AppDataLocalProgramsPythonPython36libsitepackages
  如果我们使用pip3install,将会安装到python3安装目录的单独的目录下。我们可以用以下命令来覆盖pip3这个命令:python2。7mpipinstallpackagename
  但是这仍然解决不了我们在全局python下安装第三方库的问题,将会出现下列的问题:不同python项目之间会使用不同版本的第三方库,可能会导致互相冲突项目的依赖库和操作系统的依赖库会产生冲突,导致出现项目错误或系统错误。多用户项目将很难实现。不同版本python和库的代码测试将会是一个挑战
  为了避免以上的问题,python开发者使用虚拟环境。这个虚拟环境把安装的这些第三方库在一个隔离的环境中(目录内)保存。如何创建一个虚拟环境
  确保你的系统上已经安装pythonpythonversion
  然后看一下pip是否也能正常调用pipversion
  我们需要一个工具来创建python的虚拟环境,venv。它是封装在python3。3版本以上的python中的。
  如果我们使用python2,我们需要手动安装一个工具。这是为数不多的一个我们需要全局安装的第三方库。python2mpipinstallvirtualenv
  注意:我们将会在文章中讨论很多venv和python3,操作系统环境不同,可能会导致某些命令的些许不同,某些工具的工作原理也些许不同。
  如果你的系统上没有安装pip:sudoaptgetinstallpythonpip然后安装virtualenvpipinstallvirtualenv
  我们首先要为项目创建一个文件夹,并进入这个文件夹:mkdirmypythonprojectcdmypythonproject
  然后我们再创建虚拟环境:python3mvenvvirtualenv创建一个名为virtualenv的虚拟环境给,可以是任何名字
  这将会创建一个名为virtualenv的目录,这个目录将会包含bin、lib、include文件夹,还有一个环境配置文件。
  所有的文件都是为了确保,所有的代码都运行在当前的虚拟环境下。这会帮我们把工作环境和操作系统环境隔离开来,避免我们之前提到的问题。
  为了使用这个虚拟环境,我们需要激活它。激活以后,还会更改我们的命令提示符标志。这个标志也是为了表明虚拟环境已经激活,python的代码都是在这个环境下执行。UBUNTULINUX系统激活虚拟环境sourceenvbinactivate(virtualenv)windows激活虚拟环境E:mypythonprojectvirtualenvScriptsactivate(virtualenv)E:mypythonprojectvirtualenvScriptsactivate
  在虚拟环境下,无法访问使用全局的第三方库,在虚拟环境内安装的库也无法在外部使用。
  在虚拟环境中,只有pip和setuptools是默认安装的。
  激活虚拟环境后,变量path也会相应地发生改变,以达到虚拟环境的目的。
  当我们完成工作,想切换回操作系统的全局环境,我们需要使用deactivate退出虚拟环境。linuxubuntu下(virtualenv)deactivatewindows系统下(virtualenv)E:mypythonprojectvirtualenvScriptsdeactivateE:mypythonprojectvirtualenvScripts如何管理虚拟环境下的第三方库
  我们配置了虚拟环境并激活以后,我们不想在分享项目时,连同使用pipinstall命令安装的第三方库也一起分享。我们想去除我们的虚拟环境文件夹,但仍然可以在其他的电脑或系统上重新运行我们的工作。
  为实现这个目的,我们可以在项目根目录下创建一个requirement文件。假设我们在虚拟环境下安装flask,安装完成后我们使用pipfreeze命令。它将会列出我们已经安装过的库名和版本号。(virtualenv)pipfreezeclick8。0。3colorama0。4。4dataclasses0。8Flask2。0。2importlibmetadata4。8。1itsdangerous2。0。1Jinja23。0。2MarkupSafe2。0。1typingextensions3。10。0。2Werkzeug2。0。2zipp3。6。0
  我们可以将这个列表写到requirement文件中,上传到git保存,或以任何形式跟他人分享。(virtualenv)pipfreezerequirements。txt
  这个命令也可以更新这个requirements。txt文件,所以在每次安装一个新的第三方库时,我们都习惯性的运行一下这个命令,来更新我们的安装列表。
  然后,如果任何人想在他们的电脑上运行我们的项目,他们只需要做:cdcopiedprojectpython3mvenvvirtualenvpython3mpipinstallrrequirements。txt
  所有的一切都如在我们电脑上运行的一样。使用pipenv来创建python虚拟环境
  安装pipenvpipinstallpipenv
  pipenv基本上是pip的一个替代工具。它引入了两个文件,pipfile用来替换requirements。txt,Pipfilelock(whichenablesdeterministicbuilds,确定第三方库的子依赖库版本的更新的解决方案)
  pipenv在机理上是运行pip和virtualenv,但使用一个命令来简化操作。cdprojectfolderpipenvshell如果当前目录没有虚拟环境给,会自动创建一个新的虚拟环境。你可以指定使用python3或python2的版本two或three前提是操作系统上也要安装相应版本的pythonpipenvshelltwo或three
  安装第三方库,如flask,或numpypipenvinstallflask0。12。1pipenvinstallnumpy也可以不指定版本号
  也可以从VersionControlsystem比如git来安装第三方库pipenvinstallegithttps:github。comrequestsrequests。giteggrequests
  需要注意上面的e参数可以使安装editable,目前对于pipenv来说是必须的。
  如果你需要使用pytest来测试项目,但在上线后不需要这个库,你可以指定这个库仅仅作用于开发模式dev。pipenvinstallpytestdev
  dev将会把第三库放到pipfile的一个单独的地方【devpackages】。
  如果你现在完成了开发,本地运行正常,你想锁定你的开发环境,并转至线上。使用如下命令确保开发环境:pipenvlock
  这个代码将会创建或更新你的环境,你无需手动更改编辑。我们也应该一直使用自动生成的文件。
  lock以后,在production环境,你需要安装最新的成功的运行环境。pipenvinstallignorepipfile
  这个命令是告诉pipenv,安装时忽略pipfile,用pipfile。lock里的列表。pipenv将会创建一模一样的环境,包括子依赖库。
  现在,另一个人想要对代码做些更改,这种情况下,他得到代码,包括pipfile,运行如下命令pipenvinstalldev
  这个命令将会安装开发所需的所有的第三方库,包括普通的install以及dev安装的。
  如果没有指定版本号,install命令就会给第三方包括子依赖库一个机会去升级它们的版本
  举例,现在你开发用到的一个第三库有了版本升级,因为你不需要一个特定的版本,所以你在install的时候没有指定版本号。当你运行pipenvinstall时,最新版本的第三方库会安装到你的开发环境内。
  然后你对代码做了一些更改,结果如预期一样。然后你再重复上面的步骤lock你的环境。并更新至Production。pipenv常用的一些命令打开一个第三方库pipenvopenflask
  将会使用默认的editor打开第三方库的代码。无需shell运行某个命令pipenvruncommand检查环境安全性pipenvcheck删除某个库pipenvuninstallnumpy删除所有库pipenvuninstallall删除所有开发时用到的库pipenvuninstallalldev请点赞关注来支持我的工作,更多的文章会定期分享!

自主三杰吉利长城比亚迪,受困于芯片几何?全球汽车缺芯仍在蔓延,几乎每隔几天,就会听到一些车企减产甚至停产的消息。面对缺芯影响,自主三杰境遇如何?近日,有媒体报道指出,缺芯将造成长城汽车永川和徐水两大生产基……华晨卖身不卖中华品牌,宝马要的到底是什么?导语2020年11月,沈阳市中级人民法院正式裁定受理债权人对华晨汽车集团控股有限公司的重整申请:华晨集团存在资产不足以清偿全部债务的情形,具备企业破产法规定的破产原因。但……1999红米K305G,再次搅局市场,不吹不黑,它到底有什么小米,一直是手机市场的搅局者,在智能手机发展的初期,就以超级性价比著称。而进入5g时代,各大厂商纷纷推出5g手机,价格都在3000元以上。而这次,小米推出红米k305g,仅卖1……NAS指南丨不懂SMBFTPNFS协议?5000字教程,快速Hi我是加勒比考斯,又来了!NAS对于许多玩家而言是一个全新的领域,无论是存储池、存储卷的架构,还是各种协议的应用等初次接触都会让人懵然,这时候一些科普类的资料就尤……打破传统游戏手机的面具,红米RedmiK40游戏版正式发布我不喜欢游戏手机的原因并不是因为强大的性能,谁会拒绝性能呢?真正不喜欢的原因还是在设计上。现在市面上的游戏手机基本都是又厚又重,甚至有些游戏手机外观就和游戏机一样,如此还将日常……触控显示设备的接口应用展示,快来了解吧触控显示设备在很多领域都有应用,在询问购买类似的产品的时候,大多数人比较关注它的性能配置,反应运行时需要的软件应用;还有些人会关注它的接口,因为不同行业的应用会有专业对应接口。……3年卖近40万辆捷途还放大招,捷途X1首发亮相,捷途汽车品牌从今天起,请叫我奇瑞控股捷途汽车。在7月8日晚上的北京电影学院文创园,我们见证了捷途这一划时代意义的时刻。捷途汽车品牌之夜上,让笔者想起了三年前捷途作为奇瑞控股的一个产品序列被……让正义不再迟到法翼胸卡式执法记录仪T0在工作和生活中,会遇到这样那样的事件,有时因为没有有效证据,从而导致事件出现截然不同的结局,正义永远不会不现身,但可能会来的迟一些。如果有记录仪的存在,可以清晰的记录事件的发生……高颜值超舒适长续航好音质,JEETONE耳机新品体验耳机挑选四要素,音质、佩戴舒适度、颜值、续航。不必那么纠结,想清楚自己想要的,或者是更倾向于哪一要素。这次拿到的JEETONE蓝牙耳机,你不用纠结,因为它满足以上所需。耳……爱威影音助力南宁浩声音乐分享会8月29日,南宁浩声25周年系列活动,浩声联合爱威影音一同举办了主题为让聆听音乐成为你一生的健康爱好分享会。本次分享分为四个主题:聆听音乐与孩子成长、聆听音乐与奋斗、聆听音乐与……没有底线的人其实很幼稚(深度解读)听到了这样一句话:没有底线的人,才是真正的强者。无底线,无约束,才能释放自我,无止境地追求坚强。同样的观点也让这碗毒鸡汤看起来有一股腥味:最重要的是,真的会限……年度最佳掀背车之2020款雪佛兰BoltEV2020款雪佛兰BoltEV优点:瞬时加速,续航里程大,内部宽敞。缺点:令人失望的机舱质量,粗短的尺寸。结论:大多数人都能买得起的多功能电动汽车。总览2020……
长安不愧是爆款工厂,12天销量就破万,凭6。99w起?提到长安汽车近几年来的表现,相信不少人会为其竖起大拇指。作为国内自主品牌车企中的中流砥柱,长安可谓是为国内市场推出了不少精品车型,尤其是近几年来,长安对于汽车行业发展的需求把握……作为高端豪华版的丰田,雷克萨斯到底怎么样?看这几点你就知道了雷克萨斯作为丰田集团下面的子品牌,的确与丰田有很多相似之处。其中最典型的要数丰田的凯美瑞和雷克萨斯ES,都是源自TNGAK平台。作为丰田旗下高端豪华品牌,雷克萨斯不能仅仅……熬夜大赛的省份,不是北上广深,而是江西随着互联网的飞速发展,互联网上充斥着各种新奇的信息,这让人们忘记了回归,而生活的压力也让许多人晚上无法入睡。对许多人来说,上网和看电视已经成为一种重要的消遣,而不是晚上睡觉,熬……送餐小哥为省时间竟偷同行人的外卖在流行病期间,外卖工人的送货业务急剧增加。为了抢订单,他们通常会集中精力连续发送两到三份外卖订单。然而,他们愿意利用这种情况。最近,上海田林新村警察局逮捕了一名因一时贪婪而偷了……佳能RF1435mmf4LISUSM评测在RF1435mmf4LISUSM的上市之后,佳能终于完成了他家‘小三元’布局。不同于常见超广角覆盖的1635mm,佳能这次在长焦端不变的情况下,广角端往前延申到了14mm。到……白赚500元!帮粉丝淘华硕ROG主板白送512G固态硬盘这篇文章一方面是给粉丝的作业,另外一方面也算是自己2021年的新年礼物了!魔改君想跟大家说的是:华硕玩家国度主板,确实有隐藏福利!华硕特制的巨大的NVM……500元英特尔主板被坑!260元金士顿内存被骗!黄鱼明目张胆本文算是一篇随笔吧作为一名有素质,有技术,有情操的垃圾佬,魔改君和各位粉丝小伙伴们一样,常年游走于大黄鱼,寻找着捡漏的机会。当年,捡不到也没什么,货真价实也不亏。……丈夫为二婚妻子办户口,房本加名字,得了重病却被扫地出门大家好,我是老李。今天和大家来说一个可能每天都会发生在我们身边的残酷的故事。久病床前无贤妻2003年,40岁的驾校教练卢先生经人介绍,与一位外地女子陈女士结合……游戏手机里的颜值担当,ROG游戏手机5幻影白全面现货开售3月伊始,各大手机品牌扎堆发布自己的主力机,让消费者目不暇接。当然,除了旗舰手机外,还有比较小众的游戏手机也开始更新迭代,不久前发售的ROG游戏手机5就是其中一员,硬核的配置表……看完发布会总结的魅族16th手机的亮点与不足魅族16系列手机在发布会前已经基本曝光完了,除了骁龙845处理器、IMX380IMX350双摄像,今天观看发布会后,发现依然有一些之前没有提到的亮点。亮点一:让人惊喜的价格……行情突出!区块链游戏版块投资可以怎么布局?AXS、LOOM、MANA最近市场行情主要表现比较突出,区块链游戏板块再度吸引住了币圈游戏玩家的眼球,那麼有关区块链游戏板块该怎样合理布局?下边就将区块链游戏板块在细分好多个类……还在考虑高度内卷的电竞椅?要不换个骨伽游侠电竞沙发试试?电竞椅和电竞沙发可以说都是伴随着电竞游戏的流行而出现,它们主要面向的人群就是游戏玩家。电竞椅和电竞沙发各有优缺点,没有绝对的谁好谁坏,选购时根据自己的实际情况进行选择即可。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网