python环境、虚拟环境介绍及常用命令
在上文中,我好不容易搭建好Python的环境(Python3.6版本+anaconda+PyCharm环境配置,全网最详细!),但是对Python环境,以及为啥要搭建虚拟环境了解的不多。我又参考了一些教程,下面是对学习过程的一些记录!
虚拟环境介绍
谈虚拟环境之前,先聊聊什么是Python的开发环境。Python开发环境是用来编译运行python源程序的。
开发环境中主要包含Lib、Scripts和Python.exe.
-
Lib:含site-package(系统级别的库,尽量核心,少,常用)和标准库
-
Scripts:含pip.exe等
-
Python.exe:
虚拟环境是环境的副本,是对同一版本Python环境的复制。不同点虚拟环境的Lib下只有site-package,没有标准库;Scripts下同时包含pip.exe和Python.exe。
使用虚拟环境的另一好处:我们下载(install)一个实现某功能的包的时候,他往往会伴随下载一些支持包,但是执行UNstall时,他只会卸载我们所指定的那一个包。当我们下载的包越来越多时,可能会出现包冲突的情况。虚拟环境可以在某种程度上避免这一点。
下面从两方面来介绍如何创建虚拟环境:
使用Python命令
Python 3.3以上版本虚拟环境都是用venv。
在命令行使用以下命令
Python -m venv -h 可以查看当前虚拟系统的一些介绍(帮助)
Python -m venv 虚拟环境名 可以创建一个新环境
cd 虚拟环境名可以进入该环境,使用ls、dir、cd Lib和cd Scripts等命令查看内容
创建环境时我这边报错:
Error: Command '['C:\\Users\\Administrator\\venvdemo\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
原因是在创建python虚拟环境的时候,如果使用的是Anaconda中集成的python -m venv venvdir就会出现不能安装pip的错误,因为Anaconda没有ensurepip,
解决办法是使用python -m venv --without-pip venv创建没有pip的虚拟环境,然后启动虚拟环境安装pip即可;
但是通过测试,如果不去在虚拟环境中安装pip,那么虚拟环境将使用默认的pip。
下面是venv的--without-pip参数的解释:
--without-pip :Skips installing or upgrading pip in the virtual environment (pip is bootstrapped by default)
上图可见site-packages文件夹为空
刚刚建立的虚拟环境在当前目录下,即C:\Users\Administrator\venv
我们要进入虚拟环境进行操作,可以使用命令
activate激活进入该虚拟环境
或者在其他目录,使用activate 虚拟环境名
再或者,进入该虚拟环境文件夹下的scripts文件夹,直接就可以对该虚拟环境进行使用。
然后在该虚拟环境中,输入Python,可以执行Python的代码
输入exit()或者ctrl+c 退出命令行状态
输入deactivate,退出虚拟环境。
在虚拟环境中可以执行如下命令安装一个包:pip install Django
如何使用conda进行python虚拟环境的管理
调用一些包往往是从国外网站下载,这里咱们使用清华的镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
一些conda命令介绍
- conda -h 可以查看几乎所有conda命令的介绍
- create 创建一个conda的虚拟环境
如 conda create -n django3env python=3.7 -n表示后面加名字
事实上,这种方法创建的虚拟环境在anaconda3安装目录下的envs文件夹下
-
activate 激活某一环境
activate django3env
注意前面没有conda,有conda报错(这里和我的教程不一致,但是从下图也能找到依据)
-
list 可以查看当前(虚拟)环境中有什么内容
conda list
可以看到这个虚拟环境中的东西比较少,只有必要的包
deactivate 去激活,即退出当前虚拟环境
再用list命令 可以看出实际上conda环境中有好多好多包
-
search命令 查看远程商店中某个包有什么版本
conda search django
-
install 往某一环境内安装包
conda install requests
conda install requests-版本号可以安装特定版本,不加版本号默认最新版本
-
remove 卸载
conda remove requests
-
unstall 卸载
conda unstall requests
-
update 更新
conda update requests
以上为个人的学习过程,如有不对,请批评指正!
作者:WXiujie123456
来源链接:https://blog.csdn.net/Jennifer_Love_Frank/article/details/115429499