首页
关于
Search
1
git lg彩色显示日志
24 阅读
2
在 Ubuntu 22.04 LTS 中安装 Docker
19 阅读
3
CentOs/Ubuntu搭建上网x-ui
18 阅读
4
git使用多个源和多个分支
15 阅读
5
git保存账号密码
14 阅读
默认分类
网站搭建
Windows
Linux
Docker
OpenWrt
Hackintosh
Git
Python
Pandas
Web开发
JavaScript
FFmpeg
Demo
工具
刷机
油猴脚本
Excel
Chrome Extension
登录
Search
标签搜索
Pandas
读取
时区
Chrome
centos8
求和
Nginx
Typecho
404
csv
国际站
询盘导出
油猴脚本
bbr
Ubuntu
远程桌面
日志
log
数据清洗
打印机
野生程序猿
累计撰写
151
篇文章
累计收到
0
条评论
首页
栏目
默认分类
网站搭建
Windows
Linux
Docker
OpenWrt
Hackintosh
Git
Python
Pandas
Web开发
JavaScript
FFmpeg
Demo
工具
刷机
油猴脚本
Excel
Chrome Extension
页面
关于
搜索到
34
篇与
的结果
2025-09-11
自动把 requirements.txt 中的库锁死版本
在 Python 项目中,开发完成后直接部署,如果不锁定依赖版本,很可能因为底层库升级导致代码出错。因此,写死依赖版本是保证可重复部署的最佳实践。问题假设你的 requirements.txt 里有:requests numpy pandas如果不指定版本:pip install -r requirements.txt当库发布新版本时,部署环境可能与开发环境不一致可能出现 API 不兼容或行为改变的问题Python 脚本(跨平台)import subprocess # 读取原始 requirements.txt with open("requirements.txt") as f: lines = [line.strip() for line in f if line.strip() and not line.startswith("#")] # 获取当前环境已安装库及版本 installed = subprocess.run(["pip", "freeze"], capture_output=True, text=True).stdout.splitlines() installed_dict = dict(line.split("==") for line in installed if "==" in line) # 更新版本,只锁定文件中已有库 new_lines = [] for pkg in lines: pkg_name = pkg.split("==")[0] version = installed_dict.get(pkg_name) if version: new_lines.append(f"{pkg_name}=={version}") else: new_lines.append(pkg) # 未安装的保持原样 # 写回 requirements.txt with open("requirements.txt", "w") as f: f.write("\n".join(new_lines) + "\n") print("requirements.txt 已更新为锁定版本!")Linux / macOS 一行命令(bash)while read pkg; do v=$(pip show $pkg | grep Version | awk '{print $2}') if [ -n "$v" ]; then echo "$pkg==$v" else echo "$pkg" fi done < requirements.txt > requirements.locked.txt && mv requirements.locked.txt requirements.txt
2025年09月11日
2 阅读
0 评论
0 点赞
2025-01-23
在 VSCode 中调试 Python 时如何激活虚拟环境
1. 创建虚拟环境python -m venv venv2. 选择虚拟环境解释器打开 VSCode。按下 Ctrl+Shift+P(macOS 是 Cmd+Shift+P)。输入并选择 “Python: Select Interpreter”。选择你的虚拟环境解释器,例如:Linux/macOS: ./venv/bin/pythonWindows: ./venv/Scripts/python.exe3. 配置调试文件为了确保调试时使用虚拟环境,可以修改 VSCode 的 launch.json 文件:点击左侧 “运行和调试” 图标,或者按下 Ctrl+Shift+D。点击顶部的 “创建 launch.json 文件”,选择 Python。编辑生成的 launch.json 文件,确保指向虚拟环境解释器:{ "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "python": "${workspaceFolder}/venv/bin/python" // Linux/macOS // 或 // "python": "${workspaceFolder}\\venv\\Scripts\\python.exe" // Windows } ] }4. 手动激活虚拟环境.\venv\Scripts\activate source venv/bin/activate
2025年01月23日
7 阅读
0 评论
0 点赞
2024-12-22
使用 PyInstaller 和 pkg_resources 打包 Flask 应用为单个 .exe 文件
使用 PyInstaller 和 pkg_resources 打包 Flask 应用为单个 .exe 文件在将 Flask 应用打包为单个 .exe 文件时,通常会遇到的问题是 static 和 templates 文件夹中的资源文件没有被包含在打包中。本文将介绍如何结合 PyInstaller 和 pkg_resources 将这些资源文件正确打包到 .exe 文件中,并确保程序运行时能够访问这些文件。项目结构首先,我们假设 Flask 项目结构如下:project/ ├── app.py # 主程序文件 ├── static/ # 静态文件 │ ├── style.css │ └── script.js ├── templates/ # HTML 模板文件 │ ├── index.html │ └── base.html其中,static 文件夹包含 CSS 和 JS 文件,templates 文件夹包含 HTML 模板。使用 pkg_resources 定位资源文件在打包后的运行环境中,资源文件会被解压到临时目录。我们可以使用 pkg_resources 来定位这些文件。修改 Flask 应用代码在 app.py 中,使用 pkg_resources 来动态定位资源路径:import os from flask import Flask import pkg_resources def resource_path(relative_path): """获取被打包的资源路径""" return pkg_resources.resource_filename(__name__, relative_path) app = Flask(__name__, static_folder=resource_path('static'), template_folder=resource_path('templates')) @app.route('/') def index(): return "Hello, Flask!"在上述代码中:pkg_resources.resource_filename(__name__, relative_path) 返回资源文件的解压路径。使用 static_folder 和 template_folder 参数动态设置 Flask 的静态文件和模板路径。使用 PyInstaller 打包在打包过程中,需要显式指定 static 和 templates 文件夹。打包命令运行以下命令:pyinstaller --onefile --add-data "static;static" --add-data "templates;templates" app.py--onefile:生成单个 .exe 文件。--add-data:将静态文件和模板文件夹添加到打包中。在 Windows 上使用分号 ; 分隔路径。在 macOS 和 Linux 上使用冒号 :。验证结果打包完成后,运行生成的 .exe 文件。访问浏览器中的 http://127.0.0.1:5000,验证静态文件和模板是否正常加载。注意事项1. 确保安装 setuptoolspkg_resources 是 setuptools 的一部分,确保打包环境中已安装该模块:pip install setuptools2. 动态路径的优势相比直接使用 os.path,pkg_resources 更适合处理打包资源,因为它能正确处理临时解压目录中的路径。3. 打包调试如果资源文件未正确加载,可以检查:打包命令中的 --add-data 参数是否正确。应用运行时是否能够定位到资源文件。总结通过结合 PyInstaller 和 pkg_resources,可以将 Flask 应用的 static 和 templates 文件夹成功打包到单个 .exe 文件中。这种方法不仅简单高效,还能确保应用在运行时正确加载资源文件。希望本文对你有所帮助!如果有其他问题,欢迎留言交流。
2024年12月22日
1 阅读
0 评论
0 点赞
2024-11-19
Ubuntu22.04安装Python 3.11 或更高版本
方法一安装 Python 3.11 或更高版本: 在 Ubuntu 22.04 中,可以通过以下命令安装最新版本的sudo apt update sudo apt install software-properties-common -y sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.11 python3.11-venv python3.11-distutils -y 切换到新版本的 Python: 确保项目使用的是 Python 3.11,而不是旧版本:sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 sudo update-alternatives --config python3 python3 --version方法二为了避免全局安装多个 Python 版本带来的冲突,可以在项目中使用虚拟环境。使用 Python 3.11 创建虚拟环境: python3.11 -m venv .venv激活虚拟环境: source .venv/bin/activate
2024年11月19日
3 阅读
0 评论
0 点赞
2024-02-12
Python进度条
1.progress.barfrom progress.bar import Bar X = 10000 with Bar('进度',max=X) as bar: for i in range(X): for j in range(X): k = j * i bar.next()2.tqdmfrom tqdm import tqdm,trange #from tqdm.rich import tqdm,trange X = 10000 for i in tqdm(range(X)): for j in range(X): k = j * i for i in trange(X): for j in range(X): k = j * i
2024年02月12日
0 阅读
0 评论
0 点赞
1
2
...
7