python查询并安装项目所依赖的所有包

引言

如果需要进行代码的移植,肯定少不了在另一台pc或者服务器上进行环境的搭建,那么首先是要知道在已有的工程的代码中用到了哪些包,此时,如果是用人工去一个一个的代码文件中去查看调用了哪些包,这个工作甚是繁琐。

平时所用的IDE是PyCharm,在里面找了一找,似乎也没有相关的功能(?)。但是,之后又发现了pipreqs这个包,可以比较完美地解决这个问题。

pipreqs的安装与查询

在官方的第三方库的仓库pypi中有其相关的详细介绍pipreqs · pypi
下面简单介绍一下pipreqs的安装与查询依赖包的方法。
首先是安装,方法和其它python 的包的安装方式相同,可以使用pip install或者pip3 install等方法安装,如:

pip install pipreqs

安装完成之后,在控制台中cd进项目的根目录,如对于如下一个工程:
在这里插入图片描述
其项目根目录为: D:\codes\slider_operation

则进入该目录:
在这里插入图片描述
然后,运行该指令(当然,首先要确保可以运行python指令,否则可以手动激活python环境,这里就不赘述了):

pipreqs ./

之后等待程序运行完成即可:
在这里插入图片描述
可以从图中看到,已经成功运行完成了。

之后,我们可以在工程的根目录中看到有这样一个.txt文件:requirements.txt
在这里插入图片描述
在这里插入图片描述
打开之后,便可以看到项目所依赖的环境啦,不光有包的名称,同时每个包的版本也都可以看到。

安装所需的环境

看到上面requirements.txt的文件名和内容,可以看到,对于pip install -r的所需的文件格式是完全符合的,因此,我们可以将这个文件放在需要安装工程所需环境的机器上,然后在放置的路径下运行如下指令:

pip install -r requirements.txt

即可一次将所需的包全部以指定的版本进行安装了。

注:如果有出现无法安装的,修改版本即可,有些库可能还是不行,那就只能报一个安一个了。

注:本文为转载,原作者不确定,就不写了。仅作为学习记录。

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

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

相关文章

Flutter 鸿蒙next中的路由使用详解【基础使用】

✅近期推荐:求职神器 https://bbs.csdn.net/topics/619384540 🔥欢迎大家订阅系列专栏:flutter_鸿蒙next 💬淼学派语录:只有不断的否认自己和肯定自己,才能走出弯曲不平的泥泞路,因为平坦的大路…

C++《vector的模拟实现》

在之前《vector》章节当中我们学习了STL当中的vector基本的使用方法,了解了vector当中各个函数该如何使用,在学习当中我们发现了vector许多函数的使用是和我们之前学习过的string类的,但同时也发现vector当中一些函数以及接口是和string不同的…

Page Cache(页缓存

Page Cache(页缓存)是操作系统中一种重要的缓存机制,主要用于提高系统对磁盘访问的性能。以下是对Page Cache的详细解释: 一、定义与功能 Page Cache,即页缓存,是操作系统内核管理的一部分内存区域。它将…

H5实现PDF文件预览,使用pdf.js-dist进行加载

H5实现PDF文件预览,使用pdf.js-dist进行加载 一、应用场景 在H5平台上预览PDF文件是在原本已经开发完成的系统中新提出的需求,原来的系统业务部门是在PC端进行PDF的预览与展示,但是现在设备进行了切换,改成了安卓一体机进行文件…

基于neo4j的课程资源生成性知识图谱

你是不是还在为毕业设计苦恼?又或者想在课堂中进行知识的高效管理?今天给大家分享一个你一定会感兴趣的技术项目——基于Neo4j的课程资源生成性知识图谱!💡 这套系统通过知识图谱的形式,将课程资源、知识点和学习路径…

前端页面样式没效果?没应用上?

当我们在开发项目时会有很多个页面、相同的标签,也有可能有相同的class值。样式设置的多了,分不清哪个是当前应用的。我们可以使用网页的开发者工具。 在我们开发的网页中按下f12或: 在打开的工具中我们可以使用元素选择器,单击我…

渗透测试-百日筑基—SQL注入篇时间注入绕过HTTP数据编码绕过—下

day8-渗透测试sql注入篇&时间注入&绕过&HTTP数据编码绕过 一、时间注入 SQL注入时间注入(也称为延时注入)是SQL注入攻击的一种特殊形式,它属于盲注(Blind SQL Injection)的一种。在盲注中,攻击…

【C++】Map()函数

在 C 中,map 是一个关联容器,它存储键值对,每个键都是唯一的,键和值之间存在一对一的映射关系。map 是基于红黑树实现的,因此它提供了对元素的有序存储和高效的查找能力。 1. 基本用法 map 的基本语法如下&#xff1…

基于丑萌气质狗--C#的sqlserver学习

#region 常用取值 查询List<string> isName new List<string> { "第一", "第二", "第三", "第四" }; List<string> result isName.Where(m > m "第三").ToList();MyDBContext myDBnew MyDBContext(…

如何对群辉docker进行简单更新升级

目前群辉container manager的docker管理程序,无法正常使用docker注册表,导致docker项目无法通过注册表进行部署。 管理程序注册表无法正常使用的情况下,我们可以尝试通过后台命令的方式进行拉取部署,docker更新也是如此。 本文教程主要通过docker compose这个工具进行部署…

web3对象如何连接以太网络节点

实例化web3对象 当我们实例化web3对象&#xff0c;我们一般开始用本地址&#xff0c;如下 import Web3 from web3 var web3 new Web3(Web3.givenProvider || ws://localhost:5173)我们要和以太网进行交互&#xff0c;所以我们要将’ws://localhost:5173’的本地地址换成以太…

隨筆 20241023 Kafka 事务

Kafka 事务概述 原子性要求&#xff1a;在需要将数据同时发送到多个 broker 中的不同分区时&#xff0c;使用事务可以确保这些操作具备原子性&#xff0c;确保要么全部成功&#xff0c;要么全部失败。 事务标记&#xff1a;在开启事务时&#xff0c;每一个发往不同分区的消息都…

linux网络编程4——WebSocket协议及服务器的简易实现

文章目录 1. WebSocket服务器介绍1.1 WebSocket 协议的特点1.2 WebSocket 与 HTTP 的区别&#xff1a;1.3 WebSocket 的应用场景&#xff1a; 2. WebSocket握手协议详解3. 可能出现的错误4. 握手协议编码实现5. websocket传输协议实现5.1 websocket帧格式5.2 解包客户端数据5.3…

如何在短时间内入门并掌握深度学习?

如何在短时间内快速入门并掌握深度学习&#xff0c;是很多读者的困惑——晦涩难懂的数学 知识、复杂的算法、烦琐的编程……深度学习虽然让无数读者心怀向往&#xff0c;却也让不少人望而生畏&#xff0c;深感沮丧&#xff1a;时间没少花&#xff0c;却收效甚微。 如何才能更好…

【rust实战】rust博客系统2_使用wrap启动rust项目服务

如何创建一个使用warp框架的rust项目1.使用cargo 创建项目 cargo new blog 2.添加warp依赖 1.cd blog 2.编辑Cargo.toml文件 添加warp 和 tokio 作为依赖项 在[dependencies]中添加 [package] name "blog" version "0.1.0" …

python对文件的读写操作

任务:读取文件夹下的批量txt数据&#xff0c;并将其写入到对应的word文档中。 txt文件中包含&#xff1a;编号、报告内容和表格数据。写入到word当中&#xff1a;编号、报告内容、表格数据、人格雷达图以及对应的详细说明&#xff08;详细说明是根据表格中的标识那一列中的加号…

结果输出---闭包

对象中&#xff0c;this.x和x的区别 var x 1, y 2;var z function () {var x 2; // 局部变量 xreturn {x: x, // 对象属性 x&#xff0c;与局部变量 x 的初始值相同&#xff08;2&#xff09;y: function (a, b) {this.x a b; // 修改的是对象的属性 x},z: functio…

自动化数据库管理:如何通过存储过程动态创建 MySQL 对象

在当今数据驱动的世界中&#xff0c;高效的数据库管理至关重要。本文将展示如何通过存储过程自动化地创建各种 MySQL 数据库对象&#xff0c;包括数据表、视图、字段、索引、约束、存储过程、定时器和事件。通过这些方法&#xff0c;我们可以快速响应业务需求&#xff0c;提高数…

设计模式(二)工厂模式详解

设计模式&#xff08;二&#xff09;工厂模式详解 简单工厂模式指由一个工厂对象来创建实例,适用于工厂类负责创建对象较少的情况。例子&#xff1a;Spring 中的 BeanFactory 使用简单工厂模式&#xff0c;产生 Bean 对象。 工厂模式简介 定义&#xff1a;工厂模式是一种创建…

js构造函数和原型对象,ES6中的class,四种继承方式

一、构造函数 1.构造函数是一种特殊的函数&#xff0c;主要用来初始化对象 2.使用场景 常见的{...}语法允许创建一个对象。可以通过构造函数来快速创建多个类似的对象。 const Peppa {name: 佩奇,age: 6,sex: 女}const George {name: 乔治,age: 3,sex: 男}const Mum {nam…