首页 > 其他分享 >2种包管理工具:pip和pipenv

2种包管理工具:pip和pipenv

时间:2024-03-22 20:11:53浏览次数:21  
标签:种包 pipenv lock 虚拟环境 pip Pipfile 安装

一、pip

pip 是 Python 的包安装器,它用于安装和管理 Python 包,它通过requirements.txt文件来管理项目所依赖的包

1、生成requirements.txt文件:pip freeze > requirements.txt

2、安装requirements.txt依赖:pip install -r requirements.txt

3、激活虚拟环境:source myenv/bin/activate

 

二、pipenv

pipenv 是一个Python开发工作流的包管理工具,它旨在为项目提供更好的依赖管理和环境隔离。

1、Pipfile

Pipfile 是一个TOML(Tom's Obvious, Minimal Language)格式的文件,它记录了项目的直接依赖(类似于 requirements.txt),同时提供了更多的元数据和一个更易读的格式。在 Pipfile 中,你可以指定包的版本号,也可以选择使用版本范围或者星号(*)来允许更灵活的版本更新。

2、Pipfile.lock

Pipfile.lock 是由 pipenv 自动生成的一个JSON格式的文件,它包含了所有依赖(包括间接依赖)的精确版本号和哈希值。这个文件的目的是确保在不同环境中安装相同版本的依赖,以此来提供一致的开发、测试和生产环境。 

3、对于新创建的项目

(1)初始化虚拟环境和Pipfile: 在项目的根目录下运行 pipenv 命令将会自动创建一个虚拟环境(如果尚未存在)和一个新的 Pipfile。如果你已经知道你的项目将会使用哪个Python版本,你可以指定这个版本:

pipenv --python 3.8
 这个命令将会创建一个使用Python 3.8版本的虚拟环境。如果你不指定版本,pipenv 将使用系统中的默认Python版本。   (2)安装项目依赖: 通过 pipenv install 命令安装项目的第一个包,Pipfile 将会被更新,同时 Pipfile.lock 也会被创建:
pipenv install requests
 这个例子中,requests 是作为项目依赖被安装的一个示例Python包。你可以替换成你项目实际需要的任何包。   (3)生成Pipfile.lock: 当你通过 pipenv install 安装包时,Pipfile.lock 会自动生成。你也可以通过下面的命令手动生成或更新它:
pipenv lock
 这个命令会基于 Pipfile 中的内容生成或更新 Pipfile.lock 文件,确保所有依赖的版本都被锁定。
以上步骤完成后,你的项目目录下应该会有一个 Pipfile 和一个 Pipfile.lock 文件,分别记录了项目的直接依赖和所有依赖的具体版本信息。这样,其他人在使用 pipenv install 命令时,就会根据 Pipfile.lock 中锁定的版本来创建相同的开发环境。

4、使用Pipfile和Pipfile.lock

(1)要使用 Pipfile 和 Pipfile.lock 管理项目依赖,你需要安装 pipenv。可以通过 pip 安装它:

pip install pipenv

(2)下载了一个新项目后,项目中已经有Pipfile 和 Pipfile.lock,可以使用以下命令来安装 Pipfile 中指定的依赖:
pipenv install

这个命令会创建一个新的虚拟环境(如果尚未创建),并在该环境中安装 Pipfile 中列出的所有包。如果存在 Pipfile.lockpipenv 将根据锁文件中的精确版本来安装依赖,以确保环境一致性。

(3)安装新包并更新 Pipfile 和 Pipfile.lock,可以使用:

pipenv install <package>
(4)卸载包并从 Pipfile 和 Pipfile.lock 中移除,可以使用:
pipenv uninstall <package>
(5)如果你想激活虚拟环境,可以使用:
pipenv shell
 

三、pipenv初始化项目

1、确认是否已安装 pipenv: 
pip show pipenv
如果命令返回了 pipenv 的信息,那么 pipenv 已安装。如果没有返回任何信息,那么你需要安装 pipenv
2、安装 pipenv:
如果 pipenv 还没��安装,你可以使用 pip 来安装它。由于你正在使用 zsh,建议使用以下命令以确保 pipenv 安装到用户级别的目录,避免需要管理员权限:
pip install --user pipenv
3、添加 pipenv 到环境变量:安装 pipenv 后,确保 pipenv 的可执行文件路径已添加到你的环境变量中。
(1)查找pipenv的安装目录:
pip show pipenv

这个命令会显示 pipenv 包的详细信息,包括它的安装位置。查找 Location: 行,它会告诉你 pipenv 的安装目录。

(2)确定pipenv可执行文件的目录:
通常,pipenv 的可执行文件位于该安装目录的 bin 子目录下,eg:
如果 Location: 显示的路径是 

/Users/admin/Library/Python/3.7/lib/python/site-packages
那么 pipenv 的可执行文件可能位于 

/Users/admin/Library/Python/3.7/bin
 
 (3)添加到环境变量:编辑 ~/.zshrc 文件,添加:
export PATH="/Users/admin/Library/Python/3.7/bin:$PATH"
 保存并关闭后运行:
source ~/.zshrc

4、确认pipenv的可执行文件已经被正确添加到环境变量中

which pipenv
这个命令会输出 pipenv 可执行文件的完整路径,如果 pipenv 已经正确安装并且路径已经添加到环境变量中。

如果 which 命令没有返回任何输出,这可能意味着 pipenv 没有安装,或者其安装路径没有添加到环境变量中。在这种情况下,您可以尝试使用 pip 查找 pipenv 的安装位置:

 5、使用pipenv创建一个新的虚拟环境

打开终端导航到项目的根目录,分别运行 以下命令
pipenv --python 3.10
pipenv install
pipenv --python 3.10 来创建一个新的虚拟环境。如果已经存在与 Pipfile 匹配的 Python 版本的虚拟环境,pipenv 将会复用它,而不是创建一个新的。
pipenv install 来根据 Pipfile.lock 安装所有依赖。这将确保你的虚拟环境中的依赖与项目需要的依赖一致

 6、激活虚拟环境,并查看安装的所有包

pipenv shell
pip list

pipenv shell 会激活虚拟环境,使您进入到虚拟环境的 shell 中。在这个 shell 中,您可以直接运行 pip list 来查看所有已安装的包,就像在普通的系统环境中一样。

7、在PyCharm 中将这个虚拟环境设置为你的项目解释器

打开 PyCharm,转到 File > Settings(或者 PyCharm > Preferences 在 macOS 上)。
在 Project: <你的项目名> > Python Interpreter 中。
点击齿轮图标,选择 Add。
在弹出的窗口中,选择 Pipenv Environment。
PyCharm 将自动检测到 Pipfile 并提供创建虚拟环境的选项。由于你已经通过命令行创建了虚拟环境,PyCharm 也应该能够识别它。
选择合适的虚拟环境后,点击 OK。
这样,你就可以在 PyCharm 中使用 pipenv 创建的虚拟环境,并享受 PyCharm 提供的所有功能,比如代码完成、调试等。同时,你也保留了 pipenv 提供的依赖管理和环境一致性的好处。
   

标签:种包,pipenv,lock,虚拟环境,pip,Pipfile,安装
From: https://www.cnblogs.com/hailin2018/p/18090353

相关文章

  • Redis系列十:Pipeline详解
    转载自:https://blog.csdn.net/w1lgy/article/details/84455579一、pipeline出现的背景:redis客户端执行一条命令分4个过程:发送命令-〉命令排队-〉命令执行-〉返回结果 1这个过程称为Roundtriptime(简称RTT,往返时间),mgetmset有效节约了RTT,但大部分命令(如hgetall,并没......
  • PIP常用命令
    此文章仅供个人记录,非专业人士随笔pip一般位于Python310/Scripts目录下,找到Python的安装目录进去就能找到pip.exepip命令需要在Scripts目录下运行,进入Scripts目录,在路径的位置输入cmd即可;显示当前版本pipshowpillow安装指定版本pipinstallpillow==9.5.0升级到最新版......
  • python如何导出项目依赖【pipreqs】
    1、导出python环境中的所有依赖pipfreeze>requirements.txt此方法会导出python环境所有安装过的依赖2、仅导出当前项目中的依赖需要使用pipreqs这个工具安装pipinstallpipreqs然后进入项目的根目录,并执行pipreqs.--encoding=utf8--force【.】:表示生成的re......
  • Python实战:打包与分发setup.py与pip
    一、引言在Python开发中,打包和分发项目是一个重要的环节。为了让其他开发者能够使用我们的项目,我们需要将项目打包成一个可安装的Python包。此外,为了方便地管理和安装Python包,Python社区开发了一个强大的包管理工具——pip。本文将详细介绍Python打包与分发的过程,包括使用s......
  • redis——集合,有序,慢查询, pipline与事务, bitmap ,HyperLogLog geo
    集合类型(set)saddkeyelement#向集合key添加element(如果element存在,添加失败)o(1)sremkeyelement#从集合中的element移除掉o(1)scardkey#计算集合大小sismemberkeyelement#判断element是否在集合中srandmemberkeycount#从集合中随机取出count个元素,不会破坏集......
  • 由版本不兼容问题引出的“pip 24.1 版本开始pip 将强制要求使用符合规范的依赖规范”
    故事的开始是……(其实是两个报错,一个是图中所示,一个是GPU问题)但是当我安装tensorboard出现了这种报错 查看报错,发现是版本问题 于是我尝试升级omegaconf版本,然后再次提醒版本问题这次不兼容的是fairseq和hydra-core,提示说这俩版本太高了 既然高那就降低版本,但是降低......
  • windows系统下使用pip安装 Superset
    windows系统下使用pip安装Superset一安装ANACONDAAnaconda官方网站就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。下载地址:免费下载(anaconda.com)直接点击下一步完成安装二......
  • psnr ssim lpips
    importosimporttorchimporttorchvision.transforms.functionalasTFfromskimage.metricsimportpeak_signal_noise_ratioaspsnrfromskimage.metricsimportstructural_similarityasssimimportlpipsfromPILimportImagedefcalculate_metrics(folder1,folder......
  • python(pip)包/模块:如何离线安装?
    1、生成requirements.txt文件如果有同环境服务器,可直接生成requirements.txt,会把当前服务器下的包和版本写入文件中。pipfreeze>requirements.txt如安装指定包,创建requirements.txt,输入包名==版本号//只输入包名,默认最新版本。例:xlwt==1.3.02、下载包在requirements.t......
  • pipeline拉取代码构建上传制品
    pipeline{agent{label'ubuntu'}stages{stage('拉取代码'){steps{checkoutscmGit(branches:[[name:'main']],extensions:[submodule(depth:1,parentCredentials:true,recursiveSub......