把flask 项目部署在windows上步骤

1.激活虚拟环境

# 激活到系统Python环境(如果当前已经在venv中,需要先退出)  
C:\xxx>deactivate  
# 删除现有的虚拟环境文件夹  
C:\xxx>rmdir /s /q venv  
# 创建新的虚拟环境  
C:\xxx>python -m venv venv  
# 激活新的虚拟环境  
C:\xxx>venv\Scripts\activate  

2.尝试添加依赖

# 尝试再次安装依赖  
(venv) C:\xxx>pip install -r requirements.txt

3.安装flask 和 Gunicorn

pip install flask gunicorn

4.用 启动项目

gunicorn app:app
会出现问题:
(venv) C:\xxx>gunicorn app:app
Traceback (most recent call last):File "D:\Python\Python310\lib\runpy.py", line 196, in _run_module_as_mainreturn _run_code(code, main_globals, None,File "D:\Python\Python310\lib\runpy.py", line 86, in _run_codeexec(code, run_globals)File "C:\xxx\venv\Scripts\gunicorn.exe\__main__.py", line 4, in <module>File "c:\xxx\venv\lib\site-packages\gunicorn\app\wsgiapp.py", line 9, in <module>from gunicorn.app.base import ApplicationFile "c:\xxx\venv\lib\site-packages\gunicorn\app\base.py", line 11, in <module>from gunicorn import utilFile "c:\xxx\venv\lib\site-packages\gunicorn\util.py", line 8, in <module>import fcntl
ModuleNotFoundError: No module named 'fcntl' 

上述问题的原因:
fcntl 模块是 Unix-like 系统(如 Linux 和 macOS)上特有的,用于文件锁定和 I/O 控制。由于 Windows 没有这个模块,因此当你尝试在 Windows 上运行依赖于 fcntl 的代码(比如 Gunicorn)时,会遇到这个 ModuleNotFoundError。
尽管 Gunicorn 主要用于 Unix-like 系统,但它也提供了对 Windows 的支持,通过不同的方式来管理进程。不过,如果 Gunicorn 在你的 Windows 环境中尝试导入 fcntl,这可能是因为某些配置或代码问题导致的。

解决方法:使用Windows兼容的WSGI服务器:

pip install waitress  
waitress-serve --port=8000 app:app

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

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

相关文章

责任链模式(Chain of Responsibility Pattern)

责任链模式 说明 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;属于行为型模式&#xff0c;它是指使多个对象都有机会处理请求&#xff0c;将这些对象连成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;直到有一个对象处理它为止。从而避免请求…

IntelliJ IDEA自定义关闭当前文件的快捷方式

前言 idea中关闭当前标签页的默认快捷键是CtrlF4,这个组合键在键盘上操作起来很是不方便&#xff0c;我们可以在设置中自定义自己习惯的快捷方式。 自定义步骤 要在 IntelliJ IDEA 中将关闭当前文件的快捷方式设置为 Alt Q&#xff0c;请按照以下步骤操作&#xff1a;打开 …

Vue+Element页面生成快照截图

页面部分: <template><div ref"homePage" class"home-container rel"><div class"snap-box abs"><div title"页面快照" class"z-pointer" click"newSnapShot()"><img :src"snap…

ES分布式搜索-索引库操作

索引库操作 1、mapping映射属性 可以查看官方文档学习&#xff1a;ES官方手册 mapping是对索引库中文档的约束&#xff0c;常见的mapping属性包括&#xff1a; type&#xff1a;字段数据类型&#xff0c;常见的简单类型有&#xff1a; 字符串&#xff1a;text&#xff08;可…

github Commits must have verified signatures

1.首先确认是否有权限&#xff0c;如有权限的情况下那就是配置有问题了 我的情况是&#xff0c;能拉取代码&#xff0c;提交的时候出现这种情况&#xff1a;Commits must have verified signatures 这里是生成证书&#xff0c;如果已经生成过的&#xff0c;就不用生成了 ssh…

ARM/Linux嵌入式面经(一):海康威视

海康威视 1.函数指针和指针函数区别 1.定义的差异 函数指针&#xff1a;函数指针的定义涉及到函数的地址。例如&#xff0c;定义一个指向函数的指针 int (*fp)(int)&#xff0c;这里 fp 是一个指针&#xff0c;它指向一个接受一个整数参数并返回整数的函数。 指针函数&#…

99 centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上

呵呵 最近部署 zookeeper 的时候出现这样的一个问题 centos 7 服务器上面 增加了 2181 的防火墙配置, 但是客户端连接不上 # 但是再 另外的一个虚拟机环境, ubuntu 16 的环境, docker 启动 2181 的服务, 然后 安装 firewalld, 配置 开放 2181 的 tcp 服务, 客户端能够正常连接…

《C缺陷和陷阱》-笔记(2)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、理解函数声明 1.(*(void(*)( ))0)( ); 2.signal 函数接受两个参数&#xff1a; 3.使用typedef 简化函数声明&#xff1a; 二、运算符的优先级…

代码随想录刷题第54天

倒计时day6。第一题是判断子序列https://leetcode.cn/problems/is-subsequence/description/&#xff0c;动规五步曲分析如下&#xff1a;dp[i][j]表示以下标为i - 1的字符串1与下标为j - 1的字符串2的相同子序列长度。当发现str1[i - 1] str2[j - 1]时&#xff0c;相同子序列…

【项目】Boost 搜索引擎

文章目录 1.背景2.宏观原理3.相关技术与开发环境4. 实现原理1.下载2.加载与解析文件2.1获取指定目录下的所有网页文件2.2. 获取网页文件中的关键信息2.3. 对读取文件进行保存 3.索引3.1正排与倒排3.2获取正排和倒排索引3.3建立索引3.3.1正排索引3.3.2倒排索引 4.搜索4.1 初始化…

UNIAPP微信小程序中使用Base64编解码原理分析和算法实现

为何要加上UNIAPP及微信小程序&#xff0c;可能是想让检索的翻围更广把。&#x1f607; Base64的JS原生编解码在uni的JS引擎中并不能直接使用&#xff0c;因此需要手写一个原生的Base64编解码器。正好项目中遇到此问题&#xff0c;需要通过URLLink进行小程序跳转并携带Base64参…

Linux第73步_学习Linux设备树和“OF函数”

掌握设备树是 Linux驱动开发人员必备的技能&#xff01; 1、了解设备树文件 在3.x版本以前的Linux内核源码中&#xff0c;存在大量的“arc/arm/mach-xxx”和“arc/arm/plat-xxx”文件夹&#xff0c;里面很多个“.c”和“.h”文件&#xff0c;它们用来描述设备信息。而现在的A…

Clock uncertainty的通俗解释

在这篇短文里&#xff0c;我会分别用专业和通俗&#xff08;比如举例子&#xff09;的语言解释一下下面出现的专业术语各是什么意思&#xff0c;以及这句话整体的含义&#xff1a;clk uncertainty 组成&#xff1a; PLL jitter &#xff08;cycle to cycle的因素&#xff09;ne…

MySQL实战:SQL优化及问题排查

有更合适的索引不走&#xff0c;怎么办&#xff1f; MySQL在选取索引时&#xff0c;会参考索引的基数&#xff0c;基数是MySQL估算的&#xff0c;反映这个字段有多少种取值&#xff0c;估算的策略为选取几个页算出取值的平均值&#xff0c;再乘以页数&#xff0c;即为基数 查…

FPGA高端项目:FPGA基于GS2971的SDI视频接收+GTX 8b/10b编解码SFP光口传输,提供2套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放Video Mixer多路视频拼接应用本方案的SDI接收OSD动态字符叠加…

【ARM Trace32(劳特巴赫) 高级篇 21 -- SystemTrace ITM 使用介绍】

文章目录 SystemTrace ITMSystemTrace ITM 常用命令Trace Data AnalysisSystemTrace ITM CoreSight ITM (Instrumentation Trace Macrocell) provides the following information: Address, data value and instruction address for selected data cyclesInterrupt event info…

Maven基础简介

作者简介&#xff1a; zoro-1&#xff0c;目前大二&#xff0c;正在学习Java&#xff0c;数据结构&#xff0c;spring等 作者主页&#xff1a; zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; Maven简介 Maven是什么 Maven…

Qt5.14.2揭秘Qt与SSL/TLS的完美邂逅:打造坚不可摧的网络安全防线

引言&#xff1a; 在数字化时代&#xff0c;数据安全是每个开发者和用户都不可忽视的问题。Qt&#xff0c;作为一个强大的跨平台开发框架&#xff0c;为我们提供了丰富的网络功能&#xff0c;其中就包括了对SSL/TLS加密通信的支持。本文将带你深入了解如何在Qt中实现SSL证书认证…

多态详细说明

多态的概述 什么是多态&#xff1f;同类型的对象&#xff0c;执行同一个行为&#xff0c;会表现出不同的行为特征。 多态的形式 父类类型 对象名称 new 子类构造器; 接口 对象名称 new 实现类构造器; 多态中成员访问特点 方法调用&#xff1a;编译看左边&#…

JVM的工作流程

目录 1.JVM 简介 2.JVM 执行流程 3. JVM 运行时数据区 3.1 堆&#xff08;线程共享&#xff09; 3.3 本地方法栈&#xff08;线程私有&#xff09; 3.4 程序计数器&#xff08;线程私有&#xff09; 3.5 方法区&#xff08;线程共享&#xff09; 4.JVM 类加载 ① 类…