pycharm用Pipenv创建项目

一、pipenv介绍

pipenv是一个python的包管理工具,提供python的各个版本间的管理,各种包管理。官网

pipenv主要有以下特点:

  • pipenv集成了pip,virtualenv两者的功能。
  • pipenv会在项目根目录下创建Pipfile文件用于记录包的版本信息、Pipfile.lock文件来锁定安装包的版本和依赖信息,管理包之间的依赖关系。
  • 无需激活虚拟机环境执行代码,只要有pipfile文件即可使用虚拟环境的依赖包执行python程序,如:通过执行命令pipenv run python xx.py
  • 在一个新的项目根目录下执行pipenv install,则他会自动创建一个虚拟环境,并且生成一个Pipfile文件;
  • 当install命令没有传递参数指定安装包,如果当前存在Pipfile,则会自动安装所有Pipfile中的packages中的包。

二、使用pipenv

2.1 安装pipenv

cmd窗口中,输入代码:

复制代码
pip install pipenv

安装完成后,随意新建一个文件夹Pipenv示例,cmd管理员权限切换到该文件夹路劲下。

2.2 创建虚拟环境

方式1: 安装指定python版本的虚拟环境:pipenv install --python 3.12.1

注:要打包的.py项目文件用的什么python版本安装的第三方库,就安装什么python版本,(python版本不同安装的同名第三方库可能有差异),不然很可能打包出来的exe不能运行。

方式2: 直接使用命令pipenv install,在虚拟环境目录下新增一个虚拟环境

执行完后,可以看到当前目录下创建了Pipfile、Pipfile.lock文件。

Pipfile文件用于记录包的版本信息;

Pipfile.lock文件来锁定安装包的版本和依赖信息,管理包之间的依赖关系;

Pipfile文件可以复制到其他项目内,通过执行pipenv install命令,根据这个Pipfile文件生成虚拟环境和依赖包的安装。

2.3 激活环境

在文件夹Pipenv示例根目录中激活环境:pipenv shell

查看虚拟环境安装了什么模块:pip list

2.4 虚拟环境中安装项目依赖包

在激活的虚拟环境中安装需要的第三方库,跟正常在python中安装库是一样的,例如:pip install datetime

卸载库也是跟正常在python中卸载库是一样使用:pip uninstall datetime

2.5 检查项目在虚拟环境中是否能正常运行

将要运行的项目文件,放在文件夹Pipenv示例跟目录下,有两种方式运行:

方式1: 在激活的虚拟环境中,输入:python xxx.py

方式2:在未激活的虚拟环境状态下,文件夹Pipenv示例跟目录下输入:pipenv run python xxx.py(只要有Pipfile文件即可)

运行完程序未报错,则认为项目在该虚拟机环境下能正常运行;

如果程序报错缺依赖包,再按上面2.4的步骤安装项目依赖包。

2.6 打包项目

在虚拟环境中安装打包工具:pip install pyinstaller

打包:pyinstaller -F xxx.py,pyinstaller其他参数不做详细介绍。

如果下次要进入该虚拟环境,直接在文件夹Pipenv示例跟目录中,执行命令pipenv shell即可进入

2.7 删除虚拟环境

命令:pipenv --rm

删除虚拟环境后,如果目录下仍存在Pipfile、Pipfile.lock文件,可以通过pipenv install重新进行安装虚拟环境,且重新安装的虚拟环境,名称与删除前一致。

若想退出虚拟环境,可以输入exit退出。

相关推荐
二川bro3 小时前
量子计算入门:Python量子编程基础
python
夏天的味道٥4 小时前
@JsonIgnore对Date类型不生效
开发语言·python
tsumikistep4 小时前
【前后端】接口文档与导入
前端·后端·python·硬件架构
行走的陀螺仪4 小时前
.vscode 文件夹配置详解
前端·ide·vscode·编辑器·开发实践
小白学大数据4 小时前
Python爬虫伪装策略:如何模拟浏览器正常访问JSP站点
java·开发语言·爬虫·python
头发还在的女程序员6 小时前
三天搞定招聘系统!附完整源码
开发语言·python
温轻舟6 小时前
Python自动办公工具06-设置Word文档中表格的格式
开发语言·python·word·自动化工具·温轻舟
花酒锄作田6 小时前
[python]FastAPI-Tracking ID 的设计
python·fastapi
AI-智能6 小时前
别啃文档了!3 分钟带小白跑完 Dify 全链路:从 0 到第一个 AI 工作流
人工智能·python·自然语言处理·llm·embedding·agent·rag
d***95627 小时前
爬虫自动化(DrissionPage)
爬虫·python·自动化