把flask 项目部署在windows上步骤

1.激活虚拟环境

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

2.尝试添加依赖

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

3.安装flask 和 Gunicorn

bash 复制代码
pip install flask gunicorn

4.用 启动项目

bash 复制代码
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_main
    return _run_code(code, main_globals, None,
  File "D:\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(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 Application
  File "c:\xxx\venv\lib\site-packages\gunicorn\app\base.py", line 11, in <module>
    from gunicorn import util
  File "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服务器:

bash 复制代码
pip install waitress  
waitress-serve --port=8000 app:app
相关推荐
EZ_Python4 分钟前
告别WPS会员!用Python自制电子发票批量打印排版工具
python·自动化
写文章的大米6 分钟前
1 分钟读懂:Python 装饰器
python
MyBFuture9 分钟前
C#表格与定时器实战技巧
开发语言·windows·c#·visual studio
2501_9216494912 分钟前
股指期货 API 入门指南:如何获取实时行情与构建交易系统
python·websocket·金融·区块链·restful
小尧嵌入式33 分钟前
c++红黑树及B树B+树
开发语言·数据结构·c++·windows·b树·算法·排序算法
Full Stack Developme36 分钟前
Spring Security 与 Apache Shiro 两大安全框架比较
spring boot·python·安全
杰瑞哥哥40 分钟前
快速搭建Web前端(streamlit使用指南)
python·信息可视化·web·模型部署
小途软件42 分钟前
基于计算机视觉的课堂行为编码研究
人工智能·python·深度学习·计算机视觉·语言模型·自然语言处理·django
智航GIS42 分钟前
9.2 多进程入门
数据库·python
小途软件43 分钟前
基于计算机视觉的桥梁索力测试方法
人工智能·python·语言模型·自然语言处理·django