简单介绍Python虚拟环境及使⽤⽅法
⽬录
⼀、为什么需要虚拟环境?
⼆、virtualenv
三、venv
四、pipenv
⼀、为什么需要虚拟环境?
这⾥的环境,指的就是 Python 代码的运⾏环境。它应该包含以下信息:
Python 解释器,⽤哪个解释器来执⾏代码?
Python 库的位置,该去哪⾥import所需要的模块?
可执⾏程序的位置,⽐如说安装了pip,那么pip命令是在哪⾥?
由于每个项⽬的情况都可能不⼀样,⽐如这个项⽬⽤的是vtk 7.1,另⼀个项⽬⽤的是vtk 9.0。如果不进⾏环境隔离⽽是全局安装,就会导致包的冲突从⽽出现问题,这个时候让每个项⽬都拥有⼀套独⽴的Python环境,这样就不会产⽣冲突了。Python 虚拟环境正是为了解决这个问题⽽存在的,简⽽⾔之,虚拟环境就是系统 Python 环境的⼀个副本。
Python虚拟环境常见的⼯具为以下⼏种:
virtualenv
venv
pipenv
⼆、virtualenv
virtualenv 是⽬前最流⾏的 Python 虚拟环境配置⼯具。它不仅同时⽀持 Python2 和 Python3,⽽且可以为每个虚拟环境指定Python 解释器,并选择不继承基础版本的包。
virtualenv 的优点
使得不同Python应⽤的开发环境相互独⽴
开发环境升级不影响其他应⽤的开发环境,也不会影响全局的环境(默认开发环境是全局开发环境),因为虚拟环境是将全局环境进⾏私有的复制,当我在虚拟环境进⾏ pip install 时,只会安装到选择的虚拟环境中。
它可以防⽌系统中出现包管理混乱和版本的冲突
1. pip 安装 virtualenv
pip install virtualenv
2. 创建虚拟环境⽬录
mkdir myproject
cd myproject
3. 创建⼀个独⽴的Python运⾏环境: myenv
virtualenv --no-site-packages myenv
# --no-site-packages 其意义在于不复制已经安装到系统Python环境中的所有第三⽅包从⽽得到⼀个“纯
净”的运⾏环境。
此时当前⽬录下会⽣成⼀个名为:“myenv” 的⽬录,该⽬录中存放刚⽣成的虚拟环境⽂件
4. 激活虚拟运⾏环境
# Windows
myenv\Scripts\activate.bat
# Linux
source myenv/bin/activate
以上命令执⾏完后会发现命令提⽰符变了,有个(myenv)前缀,表⽰当前环境是⼀个名为“myenv”的Python环境,此时可以在该环境中按照我们熟悉的⽅式安装库、运⾏程序等
5. 使⽤deactivate命令退出当前的myenv环境
deactivate
三、venv
Python 从3.3 版本开始,⾃带了⼀个虚拟环境 venv,它的很多操作都和 virtualenv 类似,但是两者运⾏机制不同。因为是从3.3 版本开始⾃带的,这个⼯具也仅仅⽀持 python 3.3 和以后版本。所以,要在 python2 上使⽤虚拟环境,依然要利⽤virtualenv 。
1. pip安装venv
# Windows
windows中venv已经以标准库的形式存在,不⽤再单独安装
# Linux
sudo apt install python3-venv # 如有不同版本的Python3,可指定具体版本venv:python3.5-venv
2. 在当前⽬录创建⼀个独⽴的Python运⾏环境: myenv
# Windows
py -3 -m venv myenv
# Linux
python3 -m venv myenv
3. 激活虚拟运⾏环境
# Windows
myenv\Scripts\activate.bat
# Linux
source myenv/bin/activate
以上命令执⾏完后会发现命令提⽰符变了,有个(myenv)前缀,表⽰当前环境是⼀个名为“myenv”的Python环境,此时可以在该环境中按照我们熟悉的⽅式安装库、运⾏程序等
4. 使⽤deactivate命令退出当前的myenv环境
deactivate
四、pipenv
pipenv 是 Pipfile 主要倡导者、requests 作者 Kenneth Reitz 写的⼀个命令⾏⼯具,主要包含了Pipfile、pip、click、requests 和virtualenv,能够有效管理Python多个环境,各种第三⽅包及模块。
pipenv 的主要特性:
pipenv集成了pip,virtualenv两者的功能,且完善了两者的⼀些缺陷。
过去⽤virtualenv管理⽂件可能会有问题,Pipenv使⽤Pipfile和Pipfile.lock,后者存放将包的依赖关系,查看依赖关系是⼗分⽅便。
各个地⽅使⽤了哈希校验,⽆论安装还是卸载包都⼗分安全,且会⾃动公开安全漏洞。
通过加载.env⽂件简化开发⼯作流程。
⽀持Python2 和 Python3,在各个平台的命令都是⼀样的。
1. pip安装pipenv
pip3 install pipenv # 全局安装,如果只想在当前⽤户模式下安装,可添加参数:--user
# 更新
pip3 install --user --upgrade pipenv
注: 如果在使⽤当前⽤户模式下安装pipenv后在shell中提⽰不可⽤,则需要把⽤户库的⽬
录“C:\Users\XXX\AppData\Roaming\Python\Python37\Scripts”添加到你的PATH【系统环境路径】中,然后重启电脑,环境
变量⽣效后即可使⽤。
2. pipenv创建虚拟环境说明
pipenv --two # 使⽤当前系统中的Python2 创建环境
pipenv --three # 使⽤当前系统中的Python3 创建环境
pipenv --python 3 # 指定使⽤Python3创建环境
pipenv --python 3.6 # 指定使⽤Python3.6创建环境
pipenv --python 2.7.14 # 指定使⽤Python2.7.14创建环境
1)创建环境时应使⽤系统中已经安装的、能够在环境变量中搜索到的Python 版本,否则会报错。
2)每次创建环境都会在当前⽬录下⽣成⼀个名为Pipfile⽂件,⽤来记录刚创建的环境信息,如果当前⽬录下之前存在该⽂件,会将其覆盖。
3)在使⽤指定版本创建环境的时候,版本号与参数 --python 之间有个空格。
3. 创建Python3.8环境
激活虚拟环境
pipenv shell
环境经激活后,会发现命令提⽰符变了(上图中的“pyTest”前缀,表⽰⽣成了名为“pyTest”的虚拟环境)
4. 其他常⽤命令
pipenv --where # 显⽰⽬录信息
pipenv --venv # 显⽰虚拟环境信息
pipenv --py # 显⽰Python解释器信息
pipenv install XXX # 安装XXX模块并加⼊到Pipfile
pipenv install XXX==1.11 # 安装固定版本的XXX模块并加⼊到Pipfile
pipenv graph # 查看⽬前安装的库及其依赖
pipenv check # 检查安全漏洞
pipenv update --outdated # 查看所有需要更新的依赖项
pipenv update # 更新所有包的依赖项
pipenv update package_name # 更新指定的包的依赖项
pipenv uninstall XXX # 卸载XXX模块并从Pipfile中移除
pipenv uninstall --all # 卸载全部包并从Pipfile中移除
pipenv uninstall --all-dev # 卸载全部开发包并从Pipfile中移除
退出当前虚拟环境
exit
删除虚拟环境
pipenv --rm
5. python ⽂件的运⾏
# 使⽤pipenv完整命令运⾏
python安装教程非常详细pipenv run python xxx.py
# 在激活环境中运⾏
pipenv shell
python xxx.py
到此这篇关于简单介绍Python虚拟环境及使⽤⽅法的⽂章就介绍到这了,更多相关Python虚拟环境内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论