Day08 - Python虚拟环境

在前面几天的练习中,我们都直接在本机安装套件,但实际工作上做系统维运时,因各系统开发年份、技术需求等因素,每个系统运作环境需求不可能完全相同,为了更有弹性的管理我们的开发环境,後面我们将使用虚拟环境进行开发。

虚拟环境

Python虚拟环境常见的有两种:

  • Anaconda
  • virtualenv

其中Anaconda作为Python的一个发行版本,安装和使用上都很简单,并预先提供资料科学相关的套件,十分推荐给资料科学家使用。
virtualenv则是一个轻量级第三方虚拟环境管理工具。
因为过去我已经有使用过Anaconda的经验,这次就改为virtualenv来体会一下其中差异。

安装virtualenv

使用系统管理员身份开启「命令提示字元」,输入以下指令:

pip install virtualenvwrapper-win

https://ithelp.ithome.com.tw/upload/images/20210920/20141886qGcOBO5FSc.png

使用「pip list」,确认安装的套件:
https://ithelp.ithome.com.tw/upload/images/20210920/20141886y9U4mo1AFJ.png

可以看到除了 virtualenvwrapper-win,virtualenv也自动被一并安装了。

未来如需移除此套件,需要将两个套件一并移除乾净:

pip uninstall virtualenvwrapper-win
pip uninstall virtualenv

设定环境变数

在进行步骤3. 建立虚拟环境与相关操作时,出现错误讯息「'mkvirtualenv' 不是内部或外部命令、可执行的程序或批次档。」。

这个问题主要原因在於我们虽然於步骤1透过pip下载了virtualenv,其中配套的批次档路径不在系统环境变数中,在「命令提示字元」无法找到。

要修正此问题,就需要在系统环境变数的「PATH」中新增批次档所在路径,方法如下:

  1. 於搜寻视窗输入「环境变数」,选择「编辑系统环境变数」。
    https://ithelp.ithome.com.tw/upload/images/20210920/2014188602VTxs0mi2.png

  2. 於进阶→环境变数→系统变数,编辑「PATH」,新增批次档所在路径。
    https://ithelp.ithome.com.tw/upload/images/20210920/20141886Dnm9OISGmN.png

https://ithelp.ithome.com.tw/upload/images/20210920/20141886vhV4uyO6ub.png

补充:在前一节安装套件时,可看到套件安装在路径「...\python39\site-packages」,而批次档路径则为「...\python39\Scripts」。具体路径视个人环境可能有所不同。

  1. 如果希望虚拟环境产生在自己想要的路径下,可以新增WORKON_HOME变数:
    https://ithelp.ithome.com.tw/upload/images/20210920/20141886wx5ww7UST8.png

建立虚拟环境与相关操作

virtualenv中常用指令:

  • mkvirtualenv 环境名称:建立虚拟环境
    https://ithelp.ithome.com.tw/upload/images/20210920/20141886HcbrTuIgdL.png

  • deactive:退出虚拟环境

  • workon:列出所有可用的虚拟环境

  • workon 环境名称:启动指定的虚拟环境

  • rmvirtualenv 环境名称:删除指定的虚拟环境


<<:  Day6_HTML语法3

>>:  Day5 NodeJS-Events和EventEmitter

Day27 海鲜义大利炖饭Risotto

在地狱厨房中,常常看到有人因为Risotto翻车导致戈登大吼骂人的画面,决定来挑战看看传统义大利炖...

成员 8 人:先知预言,公司会爆发绝望病毒

「以前我不觉得发薪日很烦,最近觉得超烦,唉......」 今日跟过去有什麽不同吗? 若你现在 4个合...

Day 4. 今天要干嘛?

好消息,我找到一个贴文跟一个影片,所以逛头盔这件事可以延後一点做: How to use Unity...

用 Python 畅玩 Line bot - 02:Line bot SDK

在建立好帐号之後,我们可以开始来看看 Line bot SDK,可以从 Line developer...

[ Day 6] - 阵列与物件的混合使用

阵列与物件混合使用 阵列与物件的混合使用范例 直接以范例说明,需要设计的范例资料上 有两间店,分别有...