(3) 静态前端网站容器化 - 容器篇 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/12/16/static-website-container-image/ 相关连接 (1) 静态前端网站容器化 - 理论篇 (2) Vue3 / React 静态网站项目容器化 - 实战案例 对于容器的选择, 其实没什么多数说的, 普通的 nginx 就可以了, 或者类似 caddy 这些都行。 如果由于某些权限问题, 选择了 nginxinc/nginx-unprivileged - docker-hub 则需要注意, /usr/share/nginx/html 权限归于 root 启动用……
阅读全文
Python Select Interpreter in Vscode 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/12/02/python-select-interpreter-in-vscode/ python 中提供了两种方式执行运行版本 选择默认 Python 版本 Mac Command + Shift + P -> Python: Select Interpreter 配置默认版本 打开 settings.json 1 "python.defaultInterpreterPath": "/usr/bin/python3", 或在 settings 中搜索 python default Interpreter Path 创建虚拟环境 .venv 或 .conda Mac Command + Shift + P -> Python: Create Environment 选择 .venv 或 .conda 管理虚拟环境 更多参考 VsCode 官方文档 Create Environment……
阅读全文
Python: 关于 Package 和 Module 快速入门 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/29/python-package-module-quick-start/ 什么是 包 (Package) 如果一个目录中有 __init__.py , 那这个目录就是 包 Package 什么是 模块 (Module) xxx.py 文件就是模块 怎么引用自定义包 把 包路径 使用 sys.path.append(xxx) 添加后, 就可以使用 1 2 3 4 5 6 7 8 9 10 11 # import {Package} from x.Package import Module print(f"Module.Attribute") from x.Package.Module import Attribute print(f"{Attribute}") # 别名 from x.Package.Module import Attribute as attr print(f"{attr}") 不能使用 连续的 . 结构 1 2 import x.Package……
阅读全文
Docker Set Up Client Only 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/PostDate/PostName/ 如果只想使用 docker / docker-compose 等命令工具控制远端服务上的 docker-engine。 MacOS 下载 docker-cli https://docs.docker.com/engine/install/binaries/#install-client-binaries-on-macos 1 wget -c https://download.docker.com/mac/static/stable/aarch64/docker-27.3.1.tgz 下载 docker-compose https://github.com/docker/compose/releases 1 wget -c https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-darwin-aarch64 Usage 1 2 3 export DOCKER_HOST=ssh://remote-host docker ps……
阅读全文
Python 类型提示: Typed Dict 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/23/python-hint-typed-dict/ 在 Golang 中, 通过 json/yaml 解析对象后, 可以通过提示器快速获取字段 但是 Python 作为动态语言, 这方便的功能就比较弱。 但好在 Python 提供了 TypedDict 进行提示。 typing 是标准库, 不用安装。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # TypedDict from typing import TypedDict class Movie(TypedDict): name: str year: int movie: Movie = { "name": "Groot", "year":……
阅读全文
Python pip 源配置 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/22/python-pip-conf/ 使用阿里云的 pip 源。 支持 https 和 http 1 2 3 4 5 6 7 8 9 mkdir ~/.pip cat > ~/.pip/pip.conf << EOF [global] trusted-host=mirrors.aliyun.com index-url=https://mirrors.aliyun.com/pypi/simple/ EOF mac + venv 在 mac + venv 下, 路径 ~/.pip/pip.conf 中的配置并不生效。 而真正生效的路径是 ~/.config/pip/pip.conf……
阅读全文
Python Keywords: with 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/22/python-keywords-with/ with 是 python 中的一个关键字。 一种更简单的方式实现 try...catch。 例如, 打开文件后获得文件句柄f, 无论执行是否正常都需要关闭句柄。 1 2 3 4 5 6 try: f = open("file.txt", "r") f.write("Hello, World!") finally: f.close() 但是使用 with 关键字, 就可以简单的写成如下 1 2 with open("file.txt", "w") as f: f.write("Hello, World!") with...as 的类实现: ContextManager with……
阅读全文
Python 配置解析: PyYaml 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/21/python-config-pyyaml/ pyyaml 是 python 中管理 yaml 依赖库。 1 pip install pyyaml 虽然名字叫 pyyaml, 但是在 import 的时候却使用的是 yaml 1 import yaml load 解析 load 支持解析 字符串 文件, 不用预先读取成字符串再解析 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import yaml ### 字符串 info = """ name: tangx age: 20 address: contry: China city: Beijing """ cfg = yaml.safe_load(info) print(cfg) ### 文件 with open("config.yaml",……
阅读全文
Python 日志库: Loguru 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/21/python-loguru/ loguru 是一款常用的 python 日志库。 https://loguru.readthedocs.io/en/stable/overview.html 注意: loguru 没有 fatal, 而是 critical 安装 1 pip install loguru 基础使用 1 2 3 4 5 6 7 8 9 10 from loguru import logging as log ## 设置格式 logger.add("file.log", format="{time} {level} {message}", level="INFO") ## 设置 level logger.level("ERROR") # 注意, 不支持小写 logger.info("Hello, World!") logger.critical("This is a critical message!") 装饰器用法 1 2 3 4 @logger.catch def test_logger(x: int): log.info("This is a test logger function!") return 10 / x 绑定额外参……
阅读全文
Python 最小化 Requirements 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/21/python-minimum-requirements/ 使用 pip freeze 会把当前环境中的所有依赖包都放到 requirements.txt 中。 使用 pigar 最小化 Requirements 安装 1 pip install pigar 生成 1 pigar generate 使用 pipreqs 最小化 Requirements 安装 1 pip install pipreqs 生成 1 2 3 4 5 6 # 强制覆盖 requiremetns.txt pipreqs --encoding utf-8 --ignore .venv --force # 输出到 os.stdout pipreqs --encoding utf-8 --ignore .venv --print……
阅读全文