python 03-标准库 第三方库-pip pipenv工具



一、标准库 第三方库





二、pip工具


(1)pip介绍

  • 使用Python包索引,可以用pip工具,它是Python的一个包管理器,可以用来安装、升级和卸载Python包。使用pip时,你可以指定包的来源,默认是PyPI,但你也可以指定其他包索引。

  • pip工具还有工程打包,依赖搜索等高级功能

  • 从Python 3.4版本开始,‌pip已经内置在Python中,‌所以一般情况下不需要再次安装(我的是python3.12.5)



(2)pip指令(windows版本)

查看pip版本(注意pip和python版本更新是独立进行的,因此pip提示更新时,需要单独更新 pip install --upgrade pip)


安装 Packages:

pip install package_name


安装earlier version(当遇到兼容性问题时需要安装旧一点的包才可以运行)

pip install package_name==2.32.2

pip install package_name==2.32.*   意思是会下载2.32的最新兼容版本


更新 Packages:

pip install --upgrade package_name

卸载 Packages:

pip uninstall package_name

列出已安装的 Packages:

pip list

展示 Package Information:

pip show package_name

查找 Packages: 搜索查找PyPI包名称或摘要包含字样

pip search search_term 

Freeze Installed Packages (to a requirements file):自动生成一个依赖文件或称为要求文件(requirements文件)

pip freeze > requirements.txt

Install from a Requirements File:安装requirements.txt依赖

pip install -r requirements.txt

使用python -m venv xxx命令可以创建一个虚拟环境名字为xxx。‌这个命令是Python 3.3及以后版本引入的,‌用于创建一个轻量级的、‌独立的Python环境。‌虚拟环境对于项目依赖管理非常有用,‌因为它允许你为不同的项目安装不同版本的包,‌而不会导致版本冲突。‌可以为每个项目维护一个独立的依赖集,‌这有助于避免不同项目之间的依赖冲突。创建并进入虚拟环境的步骤如下:

  • 1.打开命令提示符(‌CMD)‌或PowerShell。‌

  • 2.导航到你想创建虚拟环境的目录。‌使用cd命令可以改变当前目录。‌或者在目标目录中打开cmd:

  • 3.运行python -m venv env命令。‌这会创建一个名为env的虚拟环境目录。‌

  • 4.激活虚拟环境。‌在Windows上,‌运行env\Scripts\activate来激活虚拟环境。‌激活后,‌命令提示符会显示虚拟环境的名称。‌

  • 5.现在,‌可以在虚拟环境中安装和管理Python包了。‌使用pip install 包名来安装包。‌

  • 6.当你完成工作并想退出虚拟环境时,‌只需运行deactivate命令。‌




三、pipenv工具


(1)pip与pipenv区别

  • pip

用途:一个包管理器,用于从Python包索引(PyPI)安装和管理Python包。

用法:主要用于安装软件包及其依赖项。

要求:通常手动管理依赖关系,通常使用Requirements.txt文件。

环境管理:需要手动创建孤立的虚拟环境;可以将它与venv或virtualenv创建的虚拟环境一起使用。

  • pipenv

目的:一个结合包管理和虚拟环境管理的高级工具。

用法:自动为项目创建和管理虚拟环境,并从Pipfile中添加/删除包。

要求:使用Pipfile指定依赖关系,使用Pipfile.lock进行确定性构建。

环境管理:自动处理隔离环境的创建,使管理项目依赖关系变得更加容易。



(2)pipenv命令

  • ipenv的虚拟环境不激活也能用,‌但通常建议激活后使用‌。‌pipenv会在项目根目录下创建Pipfile和Pipfile.lock文件,‌用于记录和管理依赖关系。‌只要有这些文件,‌就可以通过pipenv run命令来执行Python脚本,‌而无需激活虚拟环境。‌然而,‌激活虚拟环境可以确保使用正确的Python解释器和相关依赖项,‌避免版本冲突和依赖性问题。‌因此,‌建议激活虚拟环境后再进行工作‌。‌

  • 在Windows系统下,‌‌未激活pipenv的虚拟环境时,‌无法直接在虚拟环境中安装包或卸载包‌(但是运行文件可以语句为:pipenv run python your_script.py,不过不建议这样做!)。‌需要先激活虚拟环境,‌才能执行相关操作。‌激活虚拟环境的命令是pipenv shell,‌激活后,‌就可以使用pipenv install [包名]来安装包,‌使用pipenv uninstall [包名]来卸载包。‌如果未激活虚拟环境,‌直接执行这些命令,‌将会影响全局Python环境,‌而不是虚拟环境。‌因此,‌确保在操作前已经激活了对应的虚拟环境是非常重要的‌



安装pipenv

pip install pipenv


激活虚拟环境 ,激活之后就可以直接运行文件了eg: python app.py (注意:这里与全局环境语句相同)

pipenv shell

安装package

pipenv install <package_name>

查看虚拟环境的包列表:

pipenv graph

返回虚拟地址:

pipenv --venv


安装所有依赖 install all dependencies from the Pipfile:

pipenv install

在你想要安装新的依赖,‌但不想将这些依赖添加到Pipfile中,也不会生成 Pipfile.lock 文件,使用这个命令:

pipenv install --ignore-pipfile 

这通常在你确信不需要跟踪某些依赖,‌或者在进行一些临时的测试时比较有用。
这在某些特定场景下可能是有用的,‌但通常不推荐在生产环境中使用,‌因为它可能会导致依赖管理的不一致


卸载package:

pipenv uninstall <package_name>

退出虚拟环境:

exit


eg:



在vscode中进入虚拟环境:

  • 使用pipenv --venv返回得到了虚拟环境的路径:C:\Users\zdn.virtualenvs\HelloWorld-hwMYnZoU

  • 打开这个路径发现虚拟环境的python解释器python.exe在scripts目录下:

    路径:C:\Users\zdn.virtualenvs\HelloWorld-hwMYnZoU\Scripts

  • vscode中:ctrl+shift+p 搜索 open settings.json

  • 编写"code-runner.executorMap"回车后会自动补全代码,找到python

  • 前面加上虚拟环境下python.exe的路径:注意windows系统中,路径是双斜杠,记得保存。

  • 点击右下角的python版本号,可以看见全局的和虚拟的python版本:



(3)Pipfile





四、pyenv 和 venv和conda区别



pyenv、venv 和 conda 是用于管理 Python 环境和依赖的不同工具


1. 功能和目的

pyenv:

用于管理多个 Python 版本,允许用户在同一台机器上安装和切换不同版本的 Python(包括 CPython、PyPy、Anaconda 等)。
可以与其他虚拟环境工具(如 virtualenv 或 venv)结合使用。
适合需要在不同项目之间切换 Python 版本的开发者。


venv:

是 Python 标准库的一部分,用于创建独立的虚拟环境,以隔离项目的依赖
每个虚拟环境都是独立的,防止了不同项目之间的包冲突。
适合在特定的 Python 版本下进行项目开发,但不涉及多版本管理


conda:

一个通用的包管理器和环境管理器,不仅支持 Python,还有其他编程语言(如 R、Ruby 等)。
可以创建虚拟环境并同时管理 Python 版本和其他软件包的依赖,以及它们的二进制文件。
更加适合数据科学和机器学习领域,因为它能够轻松处理复杂的依赖关系和库(如 NumPy、Pandas 等)。


2. 使用场景

pyenv:

当你需要同时使用多个 Python 版本时,pyenv 是理想选择。比如在一个项目中使用 Python 3.7,而在另一个项目中使用 Python 3.8。
适合需要测试兼容性或在不同环境下开发的情况。


venv:

当你为某个具体的项目创建隔离的环境时,使用 venv 是最佳选择。可以确保项目依赖不会与系统的 Python 环境或其他项目冲突。
适合开发和部署工作,而不涉及多版本管理。


conda:

当你需要管理复杂的包依赖或者使用非 Python 的包时,conda 是更好的选择。例如,如果你的项目需要使用 SciPy 或 TensorFlow 等库,它们可能有特定的版本要求。
特别适合数据科学、机器学习和科学计算领域的开发。


3. 安装和配置

pyenv:

需要用户手动安装和配置,包括必要的依赖项及更新 shell 配置文件,使其可用。
可以通过命令如 pyenv install 安装所需的 Python 版本。


venv:

可以直接通过 Python 的标准库使用,如运行 python -m venv <env_name> 创建新的虚拟环境。
不需要额外的安装步骤,仅需确保你的系统已安装 Python。


conda:

需要单独安装 Anaconda 或 Miniconda。
提供了简单的命令行界面可以快速创建和管理环境,例如 conda create -n myenv python=3.7。


4. 性能和包管理

pyenv:

只关注 Python 版本的管理,包管理通常依赖 pip。


venv:

使用 pip 来管理包,速度快且简单,但在处理复杂依赖时可能会有限制。


conda:

擅长处理复杂的依赖关系,通常比 pip 更加稳定和可靠,尤其是在安装一些有 C/C++ 扩展的库时。




如果你的开发需求涉及多版本管理、依赖管理和跨语言库,可以将这些工具结合使用。例如,你可以使用 pyenv 来安装和管理 Python 版本,同时使用 conda 来管理环境和包。










posted @   卡卡发  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示