使用uv管理python包

使用uv Ref https://github.com/astral-sh/uv 使用uv运行python项目 # .. 首先进入项目根目录 # 初始化uv工程配置 uv init # 加入所需依赖 # uv add <python包名> # 一般项目如果提供requirements.txt的话,可以使用如下命令 uv add -r requirements.txt # 运行 uv run <xx.py> 使用uv提供的python虚拟环境 设置好依赖并且运行成功后,会在本地生成.venv目录 根据开发环境选择激活.venv/bin目录下的对应activate文件即可。 比如在linux命令行中(使用zsh/bash时): source ./.venv/bin/activate 在vscode中:https://developer.baidu.com/article/detail.html?id=3235457 你将能够找到uv生成的虚拟环境的选项

一月 3, 2025

基于llm的命令行英文翻译工具trans-go

仓库地址: https://github.com/cncsmonster/trans-go 安装方式 前提条件: 安装了go编译器 git clone https://github/cncsmonster/trans-go ./install.sh 配置方式 该工具利用openai api风格的llm服务工作,需要配置三个环境变量: OPENAI_API_KEY: 服务密钥 OPENAI_API_BASE_URL: 服务地址 MODEL: 使用的模型名称 笔者测试了国内的若干中文模型的服务,综合性价比和效果等因素发现使用deepseek家的服务已经比较实用了,可以使用如下配置: OPENAI_API_KEY="你的deepseek家的api key" OPENAI_API_BASE_URL="https://api.deepseek.com/v1/" MODEL="deepseek-chat" 也可以使用本机部署的ollama提供的openai兼容接口,开源模型的话qwen2.5:14b已经能够基本满足需要 使用方式 基础用法: 读取第一个命令行参数以外的参数, 作为要翻译的英文文本,逐个翻译 # 如下命令会依次翻译hello world 和 good morning trans "hello world" "good morning" 翻译多行文件: 可以直接输入trans,然后粘贴文本,按ctrl+d然后按下enter键输入EOF来结束输入 直接使用trans会读取标准输入直到遇到EOF,然后翻译标准输入中的内容 翻译文件: cat $FILE | trans,$FILE替换成要翻译的文件路径 翻译help文档: 直接使用trans会翻译标准输入中的内容,可以结合管道用于翻译cli工具的help文档为英文,可以使用如下命令 go help | trans

十二月 14, 2024

使用mise替换fgm

mise能够完全覆盖fgm的功能和使用场景,而且不仅仅能够用来管理Golang工具链,还能够用来管理其他语言的工具链,比如nodejs、neovim、java等等。 甚至我们还能够用mise来替换direnv,实现管理进入退出目录时的环境变量加载和卸载。 下面将从三方面带你感受笔者使用mise的体验: 一. 下载 mise 方式1: 通过包安装管理器安装mise # 需要先安装cargo-binstall和rust工具链 cargo binstall mise 方式2: 从仓库预编译版本下载资源列表中下载, 解压缩后把mise可执行文件放到可执行文件目录即可 release链接 二. 使用mise管理go版本 0. 初始化mise 在自己的shell配置文件中加入如下命令,其中$SH替换成自己的shell的名称,比如bash、zsh等等 # 初始化mise mise activate $SH 1. 管理局部目录中的go版本 # 切换go工具链到指定版本 mise use go@1.23.1 第一次在某个目录使用mise时,mise会报错,提示需要先信任当前目录采用的mise配置,此时可以通过mise trust命令来信任当前目录的mise配置。 之后,再次使用mise use go@1.23.1命令,mise会自动下载并安装go1.23.1版本,并且将当前目录的go工具链切换到go1.23.1版本。同时,mise会自动在当前目录创建一个mise.toml文件,用来记录当前目录的mise配置信息。 如果当前目录或者父目录中已经存在被信任的mise配置文件mise.toml,那么mise会使用该配置文件工作,使用mise use go@1.23.1之类的命令时,mise会把新配置更新到该配置文件中。 mise使用全局配置文件,一般在$XDG_CONFIG_HOME/mise/config.toml中,可以通过mise config命令查看和修改全局配置文件。 使用mise时,可以通过-g选项来指定是否使用全局配置文件,此外,如果在本目录以及父目录中找不到mise配置文件,mise也会自动使用全局配置文件。 三. 使用mise管理进出目录时的环境变量加载和卸载 # 使用mise设置环境变量RUSTUP_BACKTRACE=1 mise env set RUSTUP_BACKTRACE=1 该命令执行成功后,每次进入该目录时,mise会自动加载RUSTUP_BACKTRACE=1环境变量,退出该目录时,mise会自动卸载RUSTUP_BACKTRACE=1环境变量,使用该环境变量原本的值(如果原本该环境变量已经存在)或者删除该环境变量。 需要注意的是,使用该命令时,mise会先进行配置文件检查,如果是初次使用的区域,同样需要先执行mise trust命令。

十二月 13, 2024

使用fgm管理Go版本

想自由的搜索当前go发布的版本以及下载各种版本到本地以及自由切换,你可以尝试使用fgm 下载 fgm 首先配置Rust工具链,然后可以通过cargo 下载它 cargo install fgm 为了快速获取预编译版本,你也可以使用cargo-binstall: cargo binstall fgm 快速体验 然后: 初始化fnm使用需要的环境变量eval $(fgm init) (Optional) 加载fnm shell补全配置, eval $(fgm completions --shell <shell>), 这里的可以是zsh、bash等等 查询当前系统-架构下可获取的预编译的go版本,fgm list-remote 下载一个版本:fgm install 1.23.1,(这里的1.23.1可以替换为你想下载的第三步中查询到的版本号) 列举已经被下载到本地的版本:fgm ls 启用指定版本fgm use 1.23.1, 如果启用的版本在本地不存在,则会尝试下载 查看当前已经下载到本地的go的列表fgm list, 可以看到其中一项为1.23.1 (current),表示版本1.23.1不仅已经被下载到本地,并且被设置为当前启用版本 输入go version, 能够查看到输入的go版本为1.23.1 Note: 第一次使用fgm list-remote的时候fgm 会联网搜索当前最新的golang官网的可下载版本列表, 可能会比较慢, 但是执行成功一次后会把搜索到的信息记录到本地,然后之后默认会使用本地记录的版本列表. 如果需要刷新列表,可以调用fgm update命令,或者是使用-u参数 高级用法 使用fgm config可以查看fgm使用的各种配置文件路径,配置项内容 你可以通过修改配置文件来设置fgm下载go工具链用的地址等等 值得一提,fgm遵守XDG目录规范

九月 21, 2024