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
即可一次将所需的包全部以指定的版本进行安装了。
注:如果有出现无法安装的,修改版本即可,有些库可能还是不行,那就只能报一个安一个了。
注:本文为转载,原作者不确定,就不写了。仅作为学习记录。
相关文章:
python查询并安装项目所依赖的所有包
引言 如果需要进行代码的移植,肯定少不了在另一台pc或者服务器上进行环境的搭建,那么首先是要知道在已有的工程的代码中用到了哪些包,此时,如果是用人工去一个一个的代码文件中去查看调用了哪些包,这个工作甚是繁琐。…...
istio多主集群架构验证方法
istio单网格多集群架构搭建完成后,需要验证下当前集群是否可以发现对端集群,验证方法如下: 命名空间建议设置为:demo-dubbo deploy.yaml apiVersion: apps/v1 kind: Deployment metadata:finalizers:- kubebuilder.io/net.traf…...
Java全栈经典面试题剖析8】JavaSE高级 -- 线程同步、 线程通信、死锁、线程池
目录 面试题3.44 多线程的同步方式 面试题3.45 多线程安全问题怎么解决 面试题3.46 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 面试题3.47 简述synchronized与java.util.concurrent.locks.Lock的异同ÿ…...
linux 驱动, struct file , struct node, private_data
首先是关于什么是 praviate_data : 来看看正点原子是怎么使用的。 网上找的一些资料: 总结一下: 1 私有数据 是 struct file特有的。 2private_data 可以自己随便设置。 3 一般是在 open 函数中设置好,然后在 read, write 函…...
ubuntu 硬盘扩容
在 Linux 中,可以使用以下命令查看磁盘的使用情况和信息: 查看磁盘使用情况: df -h这个命令会显示所有文件系统的使用情况,以人类可读的格式(例如 GB 或 MB)。 查看磁盘分区和设备信息: lsblk这…...
cm211-1刷机教程镜像包
cm211-1刷机教程 包含镜像包酷看桌面 s905l3-l3b通用 镜像包:https://www.123684.com/s/WGAwjv-5tlv3 1.刷机教程 镜像为线刷镜像包,需要短接刷机 短接刷机,导入镜像包 开始即可。到100%就证明可以了。...
Android 15自定义设置导航栏与状态栏,EdgeToEdge适配
背景:android api 35,activity设置EdgeToEdge.enable((ComponentActivity) this)前提下 一、设置导航栏与状态栏颜色 设置的状态栏颜色,只需要设置fitsSystemWindows跟setOnApplyWindowInsetsListener xml设置: 代码:…...
设计模式概览
设计模式是一种在软件设计中被广泛使用的解决方案,旨在提高软件的可重用性、可维护性和可扩展性。设计模式可以分为三大类:创建型、结构型和行为型。 1、创建型模式 这些模式主要关注对象的创建过程,提供了不同的方式来创建对象,…...
力扣每日一题打卡 684. 冗余连接
树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1~n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间,且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 edges ,edges[i] …...
什么是微服务中的反应性扩展?
大家好,我是锋哥。今天分享关于【什么是微服务中的反应性扩展?】面试题?希望对大家有帮助; 什么是微服务中的反应性扩展? Reactive Extensions 也称为 Rx。这是一种设计方法,我们通过调用多个服务来收集结果…...
【MyBatis】MyBatis-config标签详解
目录 MyBatis配置文件标签详解configuration标签properties标签typeAliases标签environments标签environment标签transactionManager标签dataSource标签mappers标签 MyBatis配置文件标签详解 我们在使用MyBatis框架的时候需要一个配置文件——MyBatis-config.xml来告诉MyBatis…...
使用AVPlayer进行音频播放开发基础设计
在使用AvPlayer进行设计之前,需要获取相应对象,后期围绕该对象展开操作 const player await media.createAVPlayer() 然后对播放器进行初始化设置: player.on(stateChange, (state) > {switch (state) {case initialized:player.prepar…...
API网关的作用--为什么微服务需要一个API网关?
微服务网关核心作用就是协议转换、安全隔离和流量控制 微服务架构中,API网关作为系统的入口点,可以统一处理所有客户端请求。 1)协议转换:它能够支持多种通信协议(如HTTP、gRPC等)之间的相互转换ÿ…...
[0154].第5节:IDEA中创建Java Web工程
我的后端学习大纲 IDEA大纲 1.1.IDEA中配置Tomcat: 1.找打setting: 2.配置Tomcat Server的位置: 3.这里配置Tomcat的名称以及配置应用服务器的位置。根据自己Tomcat的安装位置决定 4.配置好后,如下图所示 1.2.创建Web工程: 1.建…...
React03 组件 Props
组件 & Props React 组件函数( Function )组件类( Class )组件 Props将 props 传递给子组件在子组件中读取 props给 prop 指定一个默认值使用 JSX 展开语法传递 props React 组件 组件本质上就是类和函数,但是与常…...
多线程——线程安全的集合类
目录 前言 一、多线程环境使用 ArrayList 1.进行加锁 2.使用 SynchronizedList 类 3.使用 CopyOnWriteArrayList 类 二、多线程环境使用队列 1.进行加锁 2.使用阻塞队列 三、多线程环境使用哈希表 1.Hashtable 2.ConcurrentHashMap (1)缩小锁…...
自动化数据库管理:如何通过存储过程动态创建 MySQL 对象
在当今数据驱动的世界中,高效的数据库管理至关重要。本文将展示如何通过存储过程自动化地创建各种 MySQL 数据库对象,包括数据表、视图、字段、索引、约束、存储过程、定时器和事件。通过这些方法,我们可以快速响应业务需求,提高数…...
480p 720p 1080p 2k 4k 8k 12k分辨率视频分别占用多大带宽?
技术背景 好多开发者,在设置视频编码参数的时候,对不同分辨率的带宽设置,缺乏相关的经验,实际上,视频分辨率与所需带宽之间的关系受到多个因素的影响,包括视频编码方式、帧率、视频内容的动态程度等。下面…...
unity中GameObject介绍
在 Unity 中,Cube和Sphere等基本几何体是 Unity 引擎的内置预制体(Prefabs),它们属于 Unity 中的GameObject 系统,可以在 Unity 的 Hierarchy 视图或 Scene 视图中右键点击,然后在弹出的菜单中选择 3D Obje…...
洛谷——P8468 [Aya Round 1 C] 文文的构造游戏(01构造问题)
P8468 [Aya Round 1 C] 文文的构造游戏 题目描述 [Aya Round 1 C] 文文的构造游戏 - 洛谷 运行代码(暴力枚举)——超时 #include <stdio.h> #define ll long long const int N 1e6 5; // 计算数组元素的异或和 ll xorSum(ll arr[], int n) {l…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
