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



    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
    • 2
    • 3
    • 4
    • 5
    • 6

    注意:

    1. 创建环境时应使用系统中已经安装的、能够在环境变量中搜索到的Python 版本,否则会报错。
    2. 每次创建环境都会在当前目录下生成一个名为Pipfile文件,用来记录刚创建的环境信息,如果当前目录下之前存在该文件,会将其覆盖。

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

    https://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/ #中国科学技术大学
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装虚拟环境

    设置好后安装虚拟环境

    pipenv install
    
    • 1

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

    pipenv lock     // 生成lockfile
    
    • 1

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

    激活(启动)虚拟环境

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

    pipenv shell
    
    • 1

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

    pip list
    
    • 1

    安装和卸载包

    安装或卸载依赖模块到虚拟环境中,注意不再使用 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中移除
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    可以查看包的依赖关系

    pipenv graph
    
    • 1

    退出虚拟环境

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

    exit
    
    • 1

    删除虚拟环境

    pipenv --rm
    
    • 1

    使用 Pipenv

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

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

    其他命令

    包的更新

    查看所有需要更新的包

    pipenv update --outdated
    
    • 1

    更新所有包

    pipenv update
    
    • 1

    更新指定包

    pipenv update <包名>
    
    • 1

    查看虚拟环境

    pipenv --venv
    
    • 1

    查看项目路径

    pipenv --where
    
    • 1

    查看本项目的 python 解释器

    pipenv --py
    
    • 1

    启动 python 应用

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

    pipenv run python test.py
    
    • 1

    在虚拟环境中执行 python 程序

    pipenv shell
    python test.py
    
    • 1
    • 2

    根据 Pipfile.lock 安装虚拟环境

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

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

    兼容 requirements.txt 文件

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

    pipenv lock -r --dev > requirements.txt
    
    • 1

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

    pipenv install -r requirements.txt
    pipenv install -r --dev requirements.txt  # 只安装开发包
    
    • 1
    • 2
  • 相关阅读:
    computed计算属性和watch侦听属性
    python+excel自动生成小学加减乘除计算题
    线性表操作集锦(顺序表,链表,栈,队列)
    2022CCPC威海:A、C、E、G、J
    程序员脱发怎么办
    Python综合案例:学生管理系统
    Chat GPT 使用教学,文字创作、学习
    YUV与RGB 以及之间的转换
    TP5.1 对数组进行排序
    SqueezeNet 一维,二维网络复现 pytorch 小白易懂版
  • 原文地址:https://blog.csdn.net/runsong911/article/details/126478897