自学Python第二十五天- Pipenv 虚拟环境和包管理工具

自学Python第二十五天- Pipenv 虚拟环境和包管理工具

  • 安装 Pipenv
  • 配置虚拟环境
  • 安装虚拟环境
  • 激活(启动)虚拟环境
  • 安装和卸载包
  • 退出虚拟环境
  • 删除虚拟环境
  • 使用 Pipenv
  • 其他命令
    • 包的更新
    • 查看虚拟环境
    • 查看项目路径
    • 查看本项目的 python 解释器
    • 启动 python 应用
    • 根据 Pipfile.lock 安装虚拟环境
    • 兼容 requirements.txt 文件

pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包。

之所以要为每一个项目分别创建一个虚拟环境,因为如果每个项目都共用全局的包,假如每个项目用到的包不一样,就需要为每一个项目分别创建一个虚拟环境,这样每个项目可以用不同的包来开发。

安装 Pipenv

Pipenv 可以使用 pipy 工具进行安装或更新

pip install pipenv
pip install --upgrade pipenv
需注意的是,Pipenv 会通过环境变量来配置虚拟环境,所以要将 python 和 python 的 script 添加到环境变量中。

配置虚拟环境

到项目目录,为项目配置虚拟环境

 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文件,用来记录刚创建的环境信息,如果当前目录下之前存在该文件,会将其覆盖。

另外可以修改依赖镜像,想要安装依赖包速度快点,修改Pipfile文件里面的源(直接修改url地址)

 http://mirrors.aliyun.com/pypi/simple/ //阿里
 https://pypi.tuna.tsinghua.edu.cn/simple/ //清华
 http://pypi.douban.com/ //豆瓣
 http://pypi.hustunique.com/ //华中理工大学
 http://pypi.sdutlinux.org/ //山东理工大学
 http://pypi.mirrors.ustc.edu.cn/ //中国科学技术大学

安装虚拟环境

设置好后安装虚拟环境

pipenv install

安装好虚拟环境后可以生成 Pipfile.lock 文件,该文件是通过hash算法将包的名称和版本,及依赖关系生成哈希值,可以保证包的完整性。另外也可以在安装好的环境中直接生成 lock 文件

pipenv lock     // 生成lockfile

项目提交时,可将Pipfile 文件和Pipfile.lock文件一并提交,待其他开发克隆下载,根据此 Pipfile 运行命令 pipenv install --dev 可以生成自己的虚拟环境。

激活(启动)虚拟环境

启动当前目录下的虚拟环境,如果当前目录下无虚拟环境则会在当前目录下自动创建虚拟环境。启动了虚拟环境,执行python脚本才能正确找到依赖模块。

pipenv shell

环境经激活后,会发现命令提示符变了,此时成功的进入虚拟环境。在此环境中可以查看安装的包

pip list

安装和卸载包

安装或卸载依赖模块到虚拟环境中,注意不再使用 pip 进行安装卸载了

 pipenv install XXX  # 安装XXX模块并加入到Pipfile
 pipenv install XXX==1.11  # 安装固定版本的XXX模块并加入到Pipfile
 pipenv install xxx --dev # 仅仅安装开发环境下的依赖包(项目部署上线不需要的包)
 ​
 pipenv uninstall XXX  # 卸载XXX模块并从Pipfile中移除
 pipenv uninstall --all  # 卸载全部包并从Pipfile中移除
 pipenv uninstall --all-dev  # 卸载全部开发包并从Pipfile中移除

可以查看包的依赖关系

pipenv graph

退出虚拟环境

退出当前虚拟环境,命令行提示符前缀消失

exit

删除虚拟环境

pipenv --rm

使用 Pipenv

在其他的 python 开发环境中,打开此项目文件可以正常的进行开发,需注意安装包时使用 pipenv install 命令安装包即可。

如果有提示在此系统上禁止运行脚本,主要是由于没有权限执行脚本,要修改策略才行。以管理员权限运行 powershell(windows 终端),然后执行 set-executionpolicy remotesigned 修改策略,然后再次加载项目就可以了。

其他命令

包的更新

查看所有需要更新的包

pipenv update --outdated

更新所有包

pipenv update

更新指定包

pipenv update <包名>

查看虚拟环境

pipenv --venv

查看项目路径

pipenv --where

查看本项目的 python 解释器

pipenv --py

启动 python 应用

不激活虚拟环境下使用虚拟环境中的解释器执行 python 程序

pipenv run python test.py

在虚拟环境中执行 python 程序

pipenv shell
python test.py

根据 Pipfile.lock 安装虚拟环境

pipenv install # 如果不需要与Pipfile.lock版本一致,则执行pipenv install
pipenv sync # 如果要安装跟Pipfile.lock版本一致的包,则执行pipenv sync
pipenv install --dev # 安装开发环境

注:如果没有 Pipfile.lock 文件则会创建文件并安装初始化环境

兼容 requirements.txt 文件

pipenv可以像virtualenv一样用命令生成 requirements.txt 文件

pipenv lock -r --dev > requirements.txt

pipenv也可以通过requirements.txt安装包

pipenv install -r requirements.txt
pipenv install -r --dev requirements.txt  # 只安装开发包

你可能感兴趣的:(python,笔记,自学,python,开发语言)