Python

分类下相关文章

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 ...

阅读全文...

Neither 'pyenv' nor 'asdf' could be found to install Python

背景 系统环境 Ubuntu 18.04 Python 3.6 但是,这个 Python 项目在 pipenv 配置文件中指定的 python 版本是 3.8。 所以,执行 pipenv shell 命令时,报错: $ pipenv shell Warning: Python 3.8 was not found on your system... Neither 'pyenv' nor 'asdf' could be found to install Python. You can specify specific versions of Python with: $ pipenv -- ...

阅读全文...

E: Unable to locate package pipenv

系统环境 Ubuntu 18.04 Python 3.6 报错信息 在执行 apt install pipenv 时,报错: E: Unable to locate package pipenv 解决方法 使用 pip 安装 pipenv sudo apt install python3-pip pip3 install pipenv 重启 shell。即可使用 pipenv ...

阅读全文...

RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods

系统环境 Ubuntu 20.04 MySQL 8.0 Python 3.8 问题描述 在安装了 PyMySQL 之后: pipenv install PyMySQL 进行 MySQL 数据库访问时,直接报错: RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods 看上去是 MySQL 8 引入的账号问题。 解决方法 pipenv install PyMySQL[rsa] 再次操作数据库就可以了。 Pipfile 的变化 p ...

阅读全文...

Python 3 爬虫库 Beautiful Soup 4.4.0 的安装及使用示例

开发环境 Python 3.8 Ubuntu 20.04 安装 Beautiful Soup 依赖 首先安装 pipenv,来解决依赖问题。安装方法详细参考 python 3 使用 pipenv 进行依赖管理与项目隔离 然后在项目目录下,pipenv shell 进入虚拟环境,执行安装依赖的命令: pipenv install beautifulsoup4 pipenv install requests pipenv install lxml 一个最简单的爬虫 打印本站 www.sunzhongwei.com 的网站标题,及首页文章列表的标题。 #!/usr/bin/env python ...

阅读全文...

python 3 使用 pipenv 进行依赖管理与项目隔离

pipenv 吸引我的地方 命令参数简单好记,感觉更像 PHP 的 composer pip 与 virtualenv 合并为一个命令 使用 Pipfile 替代 requirements.txt,管理依赖更方便 但是,似乎当前更流行 使用 conda 管理 python 开发环境 安装 pipenv 系统环境 Ubuntu 20.04 Python 3.8 sudo apt install pipenv Ubuntu 18.04 安装 pipenv 如何是 Ubuntu 18.04 可能会报错,参考 E: Unable to locate package pipenv 使用 pip ...

阅读全文...

Ubuntu 20.04 为 Python3 安装 pip

系统环境 Ubuntu 20.04 Python 3.8.5 Ubuntu 20.04 默认安装了 Python 3.8.5,无需额外安装: 版本查看: > python3 --version Python 3.8.5 安装 PIP sudo apt update sudo apt install python3-pip 安装完毕后,确认版本 > pip3 --version pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8) ...

阅读全文...

python3 中使用 SimpleHTTPServer 功能

我想测试一下 Windows 中在 WSL 中开启的服务端口,能否在 windows 宿主机中访问。 WSL Ubuntu 18.04 内置了 python3,所以使用 python3 起个服务试一下 python3: python3 -m http.server 8000 python2 中对应的用法: python -m SimpleHTTPServer 8000 在浏览器中访问 http://localhost:8000,果然可以 ...

阅读全文...