2种包管理工具:pip和pipenv

一、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)先安装pipenv,并添加 pipenv 到环境变量,安装方法参考【三-2、3】

注意:是全局安装 pipenv,然后用它为项目创建虚拟环境,而不是先创建1个虚拟环境,然后在虚拟环境中把pipenv当作1个包进行安装,因为并不符合 pipenv 设计的初衷。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的可执行文件已经被正确添加到环境变量中

1
2
3
4
which pipenv
这个命令会输出 pipenv 可执行文件的完整路径,如果 pipenv 已经正确安装并且路径已经添加到环境变量中。
 
如果 which 命令没有返回任何输出,这可能意味着 pipenv 没有安装,或者其安装路径没有添加到环境变量中。在这种情况下,您可以尝试使用 pip 查找 pipenv 的安装位置:

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

1
2
3
4
5
打开终端导航到项目的根目录,分别运行 以下命令
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 中将这个虚拟环境设置为你的项目解释器

1
2
3
4
5
6
7
打开 PyCharm,转到 File > Settings(或者 PyCharm > Preferences 在 macOS 上)。
在 Project: <你的项目名> > Python Interpreter 中。
点击齿轮图标,选择 Add。
在弹出的窗口中,选择 Pipenv Environment。
PyCharm 将自动检测到 Pipfile 并提供创建虚拟环境的选项。由于你已经通过命令行创建了虚拟环境,PyCharm 也应该能够识别它。
选择合适的虚拟环境后,点击 OK。
这样,你就可以在 PyCharm 中使用 pipenv 创建的虚拟环境,并享受 PyCharm 提供的所有功能,比如代码完成、调试等。同时,你也保留了 pipenv 提供的依赖管理和环境一致性的好处。
 
 
posted @   一路向北321  阅读(660)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示