Python 虚拟环境 virtualenv virtualenvwrapper

当做一个项目时,可能会用到一些模块,如果都用电脑自带的python环境,并且把所有的模块都安装在这上面,很容易使得自带python环境十分臃肿,而且到时候如果迁移到别的电脑时还需要重新安装对应模块,所以可以用虚拟环境,在不同的环境下安装对应的模块,迁移时也把整个环境迁移过去即可。

Pycharm使用虚拟环境

Pycharm可以在settings中直接创建虚拟环境,选择不同的开发环境。创建成功后会在根目录下自动生成一个虚拟环境文件,如图:(常用解释器是3.6版本,此处为2.7版本)

win11 查看电脑装了几个python 怎么看电脑有没有python环境_虚拟环境

这样,我们的任何安装模块等操作只会在当前虚拟环境中进行,而不影响其他的开发环境。

但是,昨天通过这样的方式创建虚拟环境的时候发生了一个史诗级BUGG:

我在选择好我的解释器(Python3.7)的时候,出现了这样的提示,

win11 查看电脑装了几个python 怎么看电脑有没有python环境_virtualenv_02

发现创建好的虚拟环境中,Scripts缺少关键的文件。比如,莫得解释器!!

win11 查看电脑装了几个python 怎么看电脑有没有python环境_虚拟环境_03

所以我决定放弃这种瓜皮操作,回归正确姿势(上面的那个问题至今未解决,求大佬帮助!!!)

使用"正确"的虚拟环境

步骤

  1. 创建虚拟环境
    输入命令:virtualenv 环境名(如果有多个python版本,可以通过命令:virtualenv -p python路径 环境名,来创建虚拟环境)
  2. 进入环境下的Scripts文件夹下
    输入命令执行脚本:activate,激活虚拟环境
  3. 接下来就可以在该虚拟环境下pip安装包或者做各种事了
  4. 退出虚拟环境
    输入命令:deactivate

管理虚拟环境

虚拟环境还可以通过一些工具来管理,从而使用起来更加方便,这里推荐virtualenvwrapper 输入命令:pip install virtualenvwrapper-win(window版),下载virtualenvwrapper

  1. 创建虚拟环境
    输入命令:mkvirtualenv 环境名与直接用virtualenv创建不同的是,前面那个是在当前文件夹下创建虚拟环境,而这个是统一在当前用户的envs文件夹下创建,并且会自动进入到该虚拟环境下
    如果不想在默认地方创建(c:\user\envs),可以新建个环境变量:WORKON_HOME,然后里面设置默认路径
    如果要指定python版本,则输入:mkvirtualenv --python=python路径(到exe文件) 环境名
  2. 进入虚拟环境
    输入命令:workon 环境名
  3. 退出虚拟环境
    输入命令:deactivate
  4. 删除虚拟环境
    输入命令:rmvirtualenv 环境名
  5. 列出虚拟环境
    输入命令:lsvirtualenv
  6. 进入到虚拟环境目录
    输入命令:cdvirtualenv 环境名

Pycharm配置

创建好虚拟环境,我们需要将此虚拟环境应运到已有的项目,或者在虚拟环境中创建新的项目。

win11 查看电脑装了几个python 怎么看电脑有没有python环境_python_04

在此处选择到虚拟环境下的Scripts文件目录下的python解释器,然后我们就能安转需要的依赖了。

注意:使用虚拟环境的优点还在于,我们在导出requirements.txt的时候,只有项目依赖的所有模块,和正确的模块版本。

其他:

Django快速启动

  • Django Server

win11 查看电脑装了几个python 怎么看电脑有没有python环境_python_05

  • Python

win11 查看电脑装了几个python 怎么看电脑有没有python环境_虚拟环境_06

requirements.txt

  1. 生成requirements.txt
    cmd切换至项目根目录(这个文件通常在最外层)执行pip freeze > requirements.txt这时候项目根目录就会多一个requirements.txt文件,里面会记录我们项目需要的所以模块信息
  2. 导入requirements.txt
    在项目根目录下执行pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt(使用豆瓣源安装)