Python 虚拟环境工具venv和pipenv使用

2019-11-18  本文已影响0人  阿基米德来了

Python的虚拟环境工具有很多很多,这里只是总结我自己常用的两种。

venv

venv模块提供了一个创建轻量型“虚拟环境”的途径,Python3.5后被官方推荐使用
(补充一点,virtualenv,这一个工具也能安装虚拟环境,但需要另外下载,支持 Python 2.7+ and Python 3.3+)

python3一般是内置了venv模块,如果没有,ubuntu环境下,可以使用apt install python3-venv安装

之后,在虚拟环境文件夹下会创建bin子文件夹(Windows下为Scripts)放置Python的二进制文件的副本或快捷方式。另有lib/pythonX.Y/site-packages 子文件夹 ( Windows下为 Lib\site-packages)

创建虚拟环境

python3 -m venv /path/to /new/virtual/environment
一般我会习惯直接在项目根目录下直接创建venv文件夹,如python3 -m venv venv

激活环境

在虚拟环境被创建之后,我们需要“激活”操作,才算是真正地进入到虚拟环境

不同平台及环境下,激活命令有所区别

bash/zsh:
$ source <venv>/bin/activate
fish:
$ . <venv>/bin/activate.fish
csh/tchs:
$ source <venv>/bin/activate.csh
cmd.exe:
C:\> <venv>\Scripts\activate.bat
Powershell:
PS C:\> <venv>\Scripts\Activate.ps1

激活后,当前命令行会有(venv)标志(venv为先前自定义的文件夹名),表示成功进入虚拟环境,这时我们就可以使用pip/pip3安装依赖了

更多使用细节

补充:一般在使用虚拟环境时,我们会配合使用requirement.txt文件来记录项目使用的依赖包和版本号
requirement.txt生成方法
pip freeze > requirements.txt
安装requirement.txt内依赖
pip install -r requirement.txt

pipenv

pipenv是一个第三方的虚拟环境工具,能自动创建及管理虚拟环境,例如当你安装/卸载依赖包的时候,它能自动记录并修改Pipfile文件,而pipfile.lock则记录了固定版本的详细依赖包列表。同时,还能够自动加载.env文件。
安装pipenv
pip install pipenv

安装依赖

pipenv install 无参数时,所有依赖包都会安装。--dev参数则用来包括开发依赖

激活环境

pipenv shell命令直接激活,进入环境,无虚拟环境则会自动创建
--three/--two参数则会在创建虚拟环境时选择python3/2环境,保证依赖包环境;--python 3.7这种形式则更加具体

更多细节

上一篇下一篇

猜你喜欢

热点阅读