Python

分类下相关文章

Ubuntu 安装 Python 环境管理工具 Miniconda 3

注意,推荐 为了避免律师函警告,从 miniconda 切换到 miniforge。 救命稻草 Miniconda 不用 Miniconda 不行了,最近测试一个 python 的人工语音合成模块给 Android App 使用,安装依赖之后, 直接把 Rasa 的开发环境搞崩了。。。怎么重装都不行。 再也不敢这样粗放地管理 Python 依赖了,还是老老实实地用上环境隔离吧。 下载 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 链接来自于: https://docs.conda.io/e ...

阅读全文...

python Windows GUI 方案 flet, 基于 flutter 组件

在调研 python tkinter 的 Windows GUI 客户端方案时,突然看到某个公众号文章中有人评论到为何不用 flet。 正好出差当天晚上睡得早,凌晨 3 点半就再也睡不着了,于是手机上翻看了 flet 官网上的所有文档,发现真是一个宝藏啊。 语法简单,且基于 flutter 的组件库,颜值有保障。而且还有跨平台的潜力。 安装 flet 安装方法极度简单,按照官方文档,一行 pip install flet 搞定。 Hello world import flet as ft def main(page: ft.Page): page.title = "长征 ...

阅读全文...

使用 conda 管理 pytorch 的 python 开发环境

更新推荐:为了避免律师函警告,从 miniconda 切换到 miniforge 目录 [X] 查看已有环境 [X] 新建一个开发环境 [X] 切换开发环境 [X] 开发环境配置文件导出 [X] 到一个新开发机,由配置文件重建一个开发环境 [X] 使用国内的镜像源加速下载 查看已有环境 conda 安装好后,可以通过指令 conda info -e 或者 conda env list 查看已有环境情况。 env list 这个命令相对容易记忆。 (base) PS D:\work> conda info -e # conda environments: # base ...

阅读全文...

生产环境部署 FastAPI + Nginx + Systemd 服务

测试开发环境 uvicorn server:app --reload 但是生产环境需要配置的项目要更多,例如: 指定端口号 如何利用多核。python 的历史问题 nginx 配置 systemd 配置 uvicorn 是什么 Uvicorn is a lightning-fast ASGI server implementation, using uvloop and httptools. 与 Gunicorn 一同使用 参考 uvicorn 及 FastAPI 的官方文档: https://www.uvicorn.org/#running-with-gunicorn https ...

阅读全文...

Python EasyGUI 调起文件选择窗口

由于 opencv 做图像识别需要测试大量的图片样本,逐一比对效果,以方便调整参数及处理逻辑。 如果写死文件路径,每次换图片都需要改代码,非常不方便;也不利于代码管理。 所以,我需要能用 python 调起文件选择窗口,选择图片,然后返回文件路径。 EasyGUI 找到一个非常合适的库,EasyGUI。很容易拼错成 EasyUI。 EasyGUI is a module for very simple, very easy GUI programming in Python. EasyGUI is different from other GUI libraries in that Easy ...

阅读全文...

python 代码格式化工具 black,类似 gofmt

从网上下载了一段 opencv 的 python 代码,代码风格异常粗放豪迈,不到 100 行的代码,几十处 pep8 格式警告。 手动改起来,太累了,所以想找一个类似 golang gofmt 那样的代码格式化工具,能一键搞定搞定。 方案一:YAPF Google 出品,类似 gofmt 的理念。可以定制化配置。 https://github.com/google/yapf 方案二:black 但是从 github star 数来看,black 这个格式化工具更流行。YAPF 13k star,black 39k star。(2024-12-07) https://github.com/ps ...

阅读全文...

Ubuntu 升级 Python 3.6 版本到 3.8

由于我要使用 tmuxp 替代 tmuxinator, 其依赖的 Python 最低版本是 3.7,而我本机的 Python 版本为 3.6。 所以,我要安装 3.8 版本,并将默认的 python3 命令指向 3.8。 系统环境 Ubuntu 18.04 (Windows WSL) Python 3.6.9 > python3 --version Python 3.6.9 Ubuntu 安装 Python 3.8 sudo apt install python3.8 将 python3.6 和 3.8 添加到 update-alternatives sudo update-al ...

阅读全文...

FastAPI 操作数据库

原本想使用 python orator 这个 ORM 方案。 但是发现搜索 FastAPI ORM 的方案,并没有人提到 orator。 我主要是担心第一次使用 FastAPI 这个异步框架,再配合上 orator 这类异常小众的 ORM,会不会踩坑。 所以,还是优先使用官方推荐的方案。至于是不是 ORM,不重要。 encode/databases FastAPI 官方文档里推荐的异步操作数据库的方案是 encode/databases。 参考: https://fastapi.tiangolo.com/advanced/async-sql-databases/ 不过里面的示例代码都是 dat ...

阅读全文...

pipreqs 自动生成 pip 依赖文件 requirements.txt

通过 pip 安装了一堆依赖,但是并没有自动生成/更新 requirements.txt。 非常不方便多开发环境的同步。这点确实不如 golang 规范。 于是找了个工具可以根据当前项目 import 的依赖,来自动生成 requirements.txt 文件。 补充于 2023-03-04: 目前看,更流行 使用 conda 管理 python 开发环境,也更方便导出配置。 pipreqs 的使用 安装 pipreqs pip install pipreqs 对当前目录生成 requirements.txt pipreqs 生成速度有点慢,需要耐心等待。生成的内容如下: fastapi ...

阅读全文...

FastAPI Hello World 开发环境搭建

安装 FastAPI 依赖 pip install "fastapi[all]" 使用 all 安装,会自动安装上相关的依赖,例如 uvicorn 等。 Hello world server.py from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} 参考: https://fastapi.tiangolo.com/tutorial/ ...

阅读全文...

Windows 11 安装 Python 3

为何要在 Windows 里安装 Python 既然有了 WSL,为何还要在 Windows 里安装 Python 呢?尝试一下 docker 也好啊? 主要是我发现在用 Python 做图像识别项目时,跟做逻辑明确类的项目有本质区别。那就是要根据输出结果来调整参数,而调整的依据往往时之前的图像输出,及下面链接里那种 colorbar 进行对比。这些在纯 terminal 中是无法实现的。还是需要依赖于桌面系统。 https://scipython.com/blog/counting-seeds-with-python/ Python 版本的选择 现在 Python 的最新版本已经到了 3.1 ...

阅读全文...

使用 python 将网站上多页表格数据导出 Excel 文件

公司找外包公司做了个大学生创新大赛作品上传及报名系统,但是离谱的是,活动结束后外包公司就把服务器关停了。参数数据及作品文件都无法下载。于是协商这个公司把服务器启动两天,等我们下载完了,再关停。 由于没有自动导出功能,于是我写了个 python 程序做了自动下载。 处理逻辑 [x] 在浏览器中,抓取数据请求。调整参数,一次性获取所有数据的 json 格式 [x] json 数据保存到本地文件 [x] python 读取 json 文件,参照网站上的字段顺序进行解析。并保存成 csv 文件 [x] 使用 wps 新建 Excel 表格文件,通过数据导入功能,将 csv 文件导入。注意设置分隔符, ...

阅读全文...

Kaggle 安装三方 Python 依赖包

例如,我想在 kaggle 中使用 PlantCV,但是发现 kaggle 并没有内置 PlantCV 这个包。 新建一个 code cell,输入: !pip install plantcv 报错: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0 ...

阅读全文...

Kaggle 上传本地图片

由于需要在 Kaggle 中读取样本图片,所以想把采集的图片上传到 Kaggle 空间中。 上传图片及 Python 读取步骤 点击 kaggle 项目右上角的 “add data” 按钮 在弹出对话框中,点击右上角的 “Upload” 按钮 上传图片即可,可以拖拽。保存时,需要指定 dataset 的名称 上传成功后,点击右上角的 data - input - dataset 名 - 图片名,就可以看到该图片的路径 将路径复制到代码中,即可读取或操作 例如: from IPython.display import Image Image("../input/wheat-ima ...

阅读全文...

ModuleNotFoundError: No module named '_ctypes'

从 git 仓库 clone 下来的已有 Python项目,在使用 pipenv install 安装依赖时报错: An error occurred while installing backpack==0.1 ERROR: Couldn't install package: backpack 虽然看起来时某个依赖包没有安装成功,但根本原因是错误: ModuleNotFoundError: No module named '_ctypes' 解决方法 sudo apt-get install libffi-dev pyenv uninstall 3.8.6 pyenv install ...

阅读全文...