python 虚拟环境

1 pip list 和pip freeze的区别

  • pip list # 查看已安装的依赖包
    pip freeze # 冻结当前环境的依赖包

  • pip freeze 为什么比 pip list 的包少几个呢?
    因为pip , wheel , setuptools 等包,是自带的而无法(un)install的。考虑到pip freeze的用途,所以这些包并没有显示。

  • 保存和复制虚拟环境(不是虚拟环境也可以用):

​ pip freeze > requirements.txt 把安装模块的名字和版本号存放在文本文件中

​ pip install -r requirments.txt 安装文本文件中的模块

2 虚拟环境的创建

  • 虚拟环境中不重复安装标准库, 只包含第三方库.

  • python -m venv d:\venvdir\sun 会在d:\venvdir文件夹下,创建一个文件夹sun(虚拟环境)

​ python -m venv sun 会在当前目录下(cmd提示符可以看到), 创建一个文件夹sun(虚拟环境)

​ 命令 python -m venv -h 查看venv命令帮助, --system-site-packages选项使用原环境中的第三方库

  • 虚拟环境文件夹里面的内容:

Lib\site-packages\ 存放安装的第三方库

Scripts\ python.exe pip.exe activate(mac系统激活虚拟环境用) activate.bat(windows系统激活虚拟环境用) deactivete.bat(退出虚拟环境)等等

3 激活和退出虚拟环境

  • cmd下,切换到虚拟环境Scripts文件夹下, 执行activate 命令, 提示符前面会有虚拟环境名字在括号中, 此时pip list 或者 pip freeze 就只局限在虚拟环境中了. 退出执行命令deactivate.
  • cmd下,切换到虚拟环境Scripts文件夹下, 执行python命令, 不用激活, 现在的环境就是虚拟环境中

4 pycharm 虚拟环境

  • 使用创建好的虚拟环境: pycharm新建项目, 用已有的解释器, 找到虚拟环境Scripts文件夹下的python.exe文件

  • 自己创建虚拟环境:

    新建项目, 使用新虚拟环境, 虚拟环境位置默认在项目位置文件夹下, 也可以把虚拟环境位置不放在项目文件夹下, 并勾选 可用于所有项目选项, 这样下一次新建项目, 在现有解释器里面可以看到这个虚拟环境, 并可以共用它.