python环境结构
包括如下内容
如上图所示为Python的环境结构。打开安装位置的
Python
文件夹,可以看到上图所示的文件结构和一些其他文件。
python.exe
即Python解释器。
site-packages
为Python特有的一种包管理机制,包含一些常用包但又区别于标准库
如上图,右边的两个部分为虚拟环境的目录结构,空白框指的是标准库
。
如虚拟环境文件夹venv1
,打开后可以看到如上图所示文件结构
与非虚拟环境的目录结构有所区别,但也大致相同。解释器python.exe
被放在了文件夹Scripts
中
虚拟环境的类型
目前用于创建虚拟环境的方法较多,有些是历史原因造成的
python2最常用的是virtualenv
也有在virtualenv
上再包了一层的virtualenvwrapper
还有在此基础上再包一层的virtualenvwrapper-win
从python3.3开始,自带了一个虚拟环境venv
,也是目前使用较多的
虚拟环境的创建
下面使用venv
来创建虚拟环境
python -m venv venvdemo
会在当前目录下创建一个venvdemo文件夹,即一个虚拟的python环境。
cd venvdemo
dir
可以看到文件夹中包含有Include
,Scripts
目录
进入Scripts目录下,含有activate.bat
和deactivate.bat
等批处理文件,执行该文件即进入虚拟环境
cd Scripts
activate
这样就进入了虚拟环境
其原理是把该文件放入系统的%PATH中,可以使用
echo %PATH 查看环境变量,会包含有这个虚拟环境的解释器python.exe
也即
python -m venv venvdemo
cd venvdemo
cd Scripts
activate
从此时开始,安装包等都会加入到这个虚拟环境中,如
pip install django
安装完成后进入该环境的Lib中,而与其他环境不冲突
保存和复制虚拟环境
pip freeze
可以展示出该虚拟环境所使用的第三方库
pip freeze > requirments.txt
可以把pip freeze生成的文本保存到txt文件中
这样,其他的人可以使用如下命令,快捷安装好所需要的第三方库
pip install -r requirments.txt