以pycharm为例,生成Python项目所需要的依赖库/包文档:requirements.txt

news2024/11/17 11:30:57

平时我们在编写或者使用别人的Python项目时,往往会看到一个文档requirements.txt,该文档是描述一个Python项目中的第三方库的名称以及版本。本文介绍导出python当前项目依赖包requirements.txt的操作步骤。

方法一:如果每个项目有对应的虚拟环境,那么使用pycharm的终端里,在当前项目下,直接实现使用命令:

pip freeze > requirements.txt 

在这里插入图片描述
可以看到项目目录下生成了requirements.txt,内容如下:
在这里插入图片描述
每一行是依赖库的名称和版本号。注意:如果在python项目全局环境里直接使用 pip freeze > requirements.txt 会导出大量与该项目无关的依赖,包括很多个包信息,其实这里是把你当前 python 环境的所有包的相关信息导出来了。

例如:上图中pycharm使用的是conda环境,所以会生成环境中所有的依赖。

如果你也使用的是conda环境,那么请使用方法二生成requirements.txt

方法二:如果我们只需导出当前项目所需的依赖包,还可以采用另外一种方式,使用工具:pipreqs

安装pipreqs:

pip install pipreqs

安装完毕如下图所示:
在这里插入图片描述
我是在conda环境下安装,如果你使用pycharm的虚拟环境,可以直接在方法一中展示的终端中安装。

然后在项目的根目录下输入命令:

pipreqs ./

在这里插入图片描述
如果出现上图所示的编码错误UnicodeDecodeError,则将指定编码为utf8:

pipreqs ./ --encoding=utf8

完成后如下图所示:
在这里插入图片描述
并且会在项目根目录下生成requirments.txt。

一般情况下是不会生成上图中的警告的,这里我这个项目的PIL库有两个应用版本,所以出现上面的警告。

requirements.txt中:
在这里插入图片描述
这种方式获得的依赖文档requirements.txt仅包含项目所需要的依赖,而没有其他无关依赖。

这样,当该项目迁移到其他地方,需要安装依赖时,使用

pip install -r requirements.txt

或用镜像更快地安装

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

即可安装项目所需的依赖。

PS:其实任何项目也可以运行后看报错,缺什么库就安装什么库,直到跑通。但是,可能会有库版本不兼容的问题。所以,当你在使用其他人的源码时,如果项目源码中有requirments.txt,则还是按照该文档安装。更何况,当你用pycharm打开一个陌生的项目时,会提示你按requirment.txt安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1298996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞天使-linux操作的一些技巧与知识点3

http工作原理 http1.0 协议 使用的是短连接,建立一次tcp连接,发起一次http的请求,结束,tcp断开 http1.1 协议使用的是长连接,建立一次tcp的连接,发起多次http的请求,结束,tcp断开ngi…

阿里云(云服务器)上搭建项目部署环境

目录 安装docker docker安装MySQL5.7.37 安装MySQL 方式一:docker中MySQL时区调整 方式二:docker中MySQL时区调整 docker安装MySQL8.0.27 docker安装redis5.0.14 云服务器上安装jdk1.8 安装docker 1、先卸载docker,因为有一些服务器…

docker学习(七、搭建mysql8.2主从)

一、主库搭建 1.构建主库镜像 # 运行mysql镜像,配置端口3307为主库 docker run -p 3307:3306 --name mysql-master --privilegedtrue -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc…

C语言有哪些预处理操作?

C语言的预处理是在编译之前对源代码进行处理的阶段,它主要由预处理器完成。预处理器是一个独立的程序,它负责对源代码进行一些文本替换和处理,生成经过预处理的代码。以下是C语言预处理的一些重要特性: 1,头文件包含 #…

ArchLinux安装详细步骤

下载(略)安装VirtualBox(略)新建虚拟机(略)启动 进入提示符 进入安装设置界面 archinstall出现界面: 逐项设置。 Disk我选择了ext4 在Profile中 我选择了KDE作为桌面(选择后按回车…

全面高压化与全面超快充,破解新能源汽车的时代难题

是什么让新能源车主感到疲惫与焦虑?是什么阻挡更多消费者选择新能源汽车?我们在身边进行一个简单的调查就会发现,问题的答案非常一致:充电。 充电难,充电慢的难题,始终是困扰新能源汽车产业发展&#xff0c…

玩转大数据12:大数据安全与隐私保护策略

1. 引言 大数据的快速发展,为各行各业带来了巨大的变革,也带来了新的安全和隐私挑战。大数据系统通常处理大量敏感数据,包括个人身份信息、财务信息、健康信息等。如果这些数据被泄露或滥用,可能会对个人、企业和社会造成严重的损…

『 MySQL数据库 』聚合统计

文章目录 前言 🥑🥝 聚合函数🍓 COUNT( ) 查询数据数量🍓 SUM( ) 查询数据总和🍓 AVG( ) 查询数据平均值🍓 MAX( ) 查询数据最大值🍓 MIN( ) 查询数据最小值 🥝 数据分组GROUP BY子句…

拆分降采样与归一化(LN和BN)

拆分降采样:在ConvNeXt网络中使用一个步长为2的 22 卷积插入到不同的步骤之间,而且在降采样前后各加入了一个LN(一种归一化设计,这些归一化用来保持模型的稳定性) 为什么要进行归一化呢? 我们以BN为例 (1&#xff0…

uniapp如何制作一个收缩通讯录(布局篇)

html&#xff1a; <view class"search"><view class"search_padding"><u-search change"search" placeholder"请输入成员名称" v-model"keyword"></u-search></view></view> <view…

【win10用vim开发stm32】二、vimspector的单片机调试

▲ 我的vim配置仓库: gitee&#xff0c;vim相关优先在gitee更新&#xff0c;博客vim专栏作为部分补充和使用说明 ▲ 本文提供vimspector调试的一个示例&#xff0c;和keil的调试功能比当然还是有很大差距&#xff0c;不过简单的调试功能如单步、复位、运行这些都跑通了&#xf…

Android 分享小结

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、微信 分享 三、 QQ 、QQ空间&#xff08;Qz…

vscode 编译运行c++ 记录

一、打开文件夹&#xff0c;新建或打开一个cpp文件 二、ctrl shift p 进入 c/c配置 进行 IntelliSense 配置。主要是选择编译器、 c标准&#xff0c; 设置头文件路径等&#xff0c;配置好后会生成 c_cpp_properties.json&#xff1b; 二、编译运行&#xff1a; 1、选中ma…

4.8 构建onnx结构模型-Less

前言 构建onnx方式通常有两种&#xff1a; 1、通过代码转换成onnx结构&#xff0c;比如pytorch —> onnx 2、通过onnx 自定义结点&#xff0c;图&#xff0c;生成onnx结构 本文主要是简单学习和使用两种不同onnx结构&#xff0c; 下面以 Less 结点进行分析 方式 方法一&a…

Android 相机库CameraView源码解析 (五) : 保存滤镜效果

1. 前言 这段时间&#xff0c;在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位&#xff0c;在项目前期&#xff0c;的确为我们节省了不少时间。 但随着项目持续深入&#xff0c;对于CameraView的使用进入深水区&#xff0c;逐…

QT之常用按钮组件

QT之常用按钮组件 导入图标 布局 显示选中 实验结果 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_push…

‘ChatGLMTokenizer‘ object has no attribute ‘tokenizer‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

六要素金属气象仪-科普小百科

随着科技的发展&#xff0c;气象监测设备也日新月异。今天&#xff0c;我们将为你介绍一款全新的六要素金属气象仪&#xff0c;它能够实时监测环境温度、相对湿度、风速、风向、大气压力、压电雨量等关键气象参数&#xff0c;为你的生活和工作保驾护航。 一、产品简介 WX-Y6S…

浪潮信息:数字化转型的策略与实践

在数字化浪潮的推动下&#xff0c;浪潮信息正致力于将计算创新推向新的高度。作为科技发展的排头兵&#xff0c;浪潮信息深知算力的重要性&#xff0c;因此不断探索前所未有的解决方案。在这个过程中&#xff0c;浪潮信息的研发人员和科技工作者如同探险家&#xff0c;勇敢地迎…

ky10 server x86 设置网卡开机自启

输入命令查看网卡名称 ip a 输入命令编辑网卡信息 vi /etc/sysconfig/network-scripts/*33改成yes 按ESC键&#xff0c;输入:wq&#xff0c;保存