Python 虚拟环境
前言
有的时候因为各种原因,在操作系统下,我们会安装很多版本的Python解释器。同样,我们也有可能因为各种原因,需要不同版本的模块,比如Django1.8,Django1.11。再加上pip工具管理器的版本混乱问题。这就使得很多人在Python的环境管理上产生极大的混乱。
通常每个项目,甚至项目不同阶段的版本,需要不同的Python解释器和依赖库。为了清晰明了,安全可靠的管理这些环境,需要为每个项目或每个应用各自建立一套“独立、隔离”的Python运行环境。
virtualenv就是用来为每一个项目创建一套“独立隔离”的Python运行环境的工具。
特别提醒:如果安装了多个 Python 版本且重命名了 python.exe(如python27.exe、python36.exe),那么在执行 pip2.7 或 pip3.6 会报致命错误!解决办法是修改对应的 pip.exe 文件中调用 python 的路径(如将c:\python36\python.exe修改为c:\python36\python36.exe)。
关于pip的更新
打开CMD输入以下命令(默认已添加Python环境变量)。
python -m pip install --upgrade pip
不难发现,此命令是在 pip install 加了前缀 python -m,另外 --upgrade 为命令修饰。
如果强制重装pip,命令如下。
python -m pip install --upgrade --force-reinstall pip
安装virtualenv
以windows操作系统为例,要安装virtualenv,建议直接使用当前环境变量下指定的pip,也就是你操作系统默认的那个python版本所绑定的pip,这样方便命令调用。通常如下:
pip install virtualenv
可以在命令行界面中验证安装:where virtualenv
离线安装virtualenv
准备好安装包,链接:https://pan.baidu.com/s/1avMmIyDFu2Z5plLstc77Mw 提取码:cs2t
使用 pip isntall 安装。
pip install C:\MyProject\MyBlog\virtualenv-20.10.0-py2.py3-none-any.whl
建立虚拟环境
在命令行执行:virtualenv –p "真实python解释器可执行程序" –-no-site-packages "虚拟python环境完整路径",如:
virtualenv –p C:\Python35\python.exe –-no-site-packages E:\CMDB_Vir
提示:若添加了Python环境变量,则-p参数可直接写python。--no-site-packages非必须。
-p: 指定你要虚拟的Python版本,这里选择了本地的python3.5;
–-no-site-packages(新版virtualenv好像改为"--clear"了 ?):表示在建立虚拟环境时不将原版本中的第三方库拷贝过来,这样就能获得一个纯净的Python环境;
E:\CMDB_Vir:表明在该目录下,建立一个叫做"CMDB_Vir"的虚拟环境。
使用虚拟环境
强烈建议将新建的虚拟环境中的 python 添加到系统环境变量中!
命令行下,进入你要使用的虚拟环境的目录下的script文件夹,运行 activate 命令。或者使用绝对路径的方式调用该命令。
必须注意命令提示符的开头(CMDB_Vir),它表示你当前在CMDB_Vir这个虚拟环境内。现在,你可以当做一个正常的Python环境使用。例如运行python命令,又或者使用pip安装第三方库pip install requests。这些都被限制和绑定在CMDB_Vir这个虚拟环境内,不会对操作系统下本地的Python版本和其它的虚拟环境产生任何的影响!
新建Django工程:
1.在虚拟环境中,安装Django库:pip install django==1.11
2.在虚拟环境中,进入虚拟环境目录,新建Django工程:(1) cd E:\CMDB_Vir (2) django-admin startproject djweb
3.用PyCharm打开Django工程根目录:(1) 需要手动设置选择虚拟环境Python解释器 (2) 新建app:python manage.py startapp webapp
温馨提示:
如果是拷贝的Django项目,且包含了 requirements.txt 文件,可以一键安装所需模块。进入虚拟环境,然后:
pip install -r requirements.txt # 注意是requirements.txt的完整路径或相对路径
留意:执行以上命令的前提是,已使用命令 "pip freeze > requirements.txt" 把项目环境的依赖库信息导出到 requirements.txt 文件里了。
退出虚拟环境
要退出虚拟环境,只要运行script目录下的 deactivate 命令就可以了。
删除虚拟环境
要删除虚拟环境,直接删除虚拟环境所在的目录就可以了,注意不要将其它的环境给删了。但是,删除虚拟环境后,所有以前使用该环境的工程都将受到影响。这点很好理解,所以请确保环境不再有需要再删除!
linux操作系统下的使用
创建虚拟环境: $ virtualenv -p /usr/bin/python3.5 –-no-site-packages /my_venv
启动虚拟环境: $ source /my_venv/bin/activate
退出虚拟环境: $ deactivate
删除虚拟环境: $ rm –rf my_venv
Pycharm使用虚拟环境
因为Pycharm集成了 virtualenv 等虚拟环境工具,故可通过Pycharm帮助创建Python虚拟环境,只需要在设置中指定基本Python解释器进行创建。(不太明白?点这里)
虚拟环境迁移
注意事项:直接将虚拟环境复制到另一台机器,直接执行是会有问题的。
以上步骤完成后,就可以在机器2正常使用虚拟环境了。
虚拟环境迁移后路径修改
Python项目位置迁移后,其虚拟环境很可能使用不了。此时,需要修改虚拟环境修改路径。
1.修改虚拟环境根目录下 pyvenv.cfg 文件中的python.exe路径。
2.修改虚拟环境目录 /Scripts/activate.bat 文件中 VIRTUAL_ENV 参数的值,改为当前虚拟环境的路径。
至此,转载请注明出处。
[ 本站相关链接:>>Django部署 ]