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退出。

相关推荐
FreakStudio3 小时前
不用装软件!这款MicroPython浏览器 IDE :让你在手机上也能调试树莓派 Pico
python·单片机·嵌入式·电子diy·tinyml
m0_743470374 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
数据科学小丫6 小时前
Python 数据存储操作_数据存储、补充知识点:Python 与 MySQL交互
数据库·python·mysql
Knight_AL6 小时前
Nacos 启动问题 Failed to create database ’D:\nacos\nacos\data\derby-data’
开发语言·数据库·python
查古穆7 小时前
python进阶-Pydantic模型
开发语言·python
佳木逢钺7 小时前
PyQt界面美化系统高级工具库:打造现代化桌面应用的完整指南
python·pyqt
工頁光軍8 小时前
基于Python的Milvus完整使用案例
开发语言·python·milvus
Csvn8 小时前
特殊方法与运算符重载
python
xht08328 小时前
PHP vs Python:编程语言终极对决
开发语言·python·php
2401_879693878 小时前
使用Python控制Arduino或树莓派
jvm·数据库·python