复式借贷记账法 Beancount (2) - 环境设置
本文介绍一些 Opinionated Beancount 环境设置
快速开始
首先使用Python的虚拟环境(可选)
1 | python3 -m venv ./venv |
激活虚拟环境
1 | source venv/bin/activate |
安装对应的Python包
1 | pip3 install beancount fava |
生成一个模版账本
1 | bean-example > example.beancount |
运行Web UI
1 | fava example.beancount |
账本库
账本存放在哪里.
本地Git仓库
首先,因为版本控制的需求,建议把账本存放在一个本地的Git仓库。 不建议设置upstream/remote把其上传到Github等云端。毕竟账本的数据都是比较隐私的消费记录。
云储存
可以选择加密之后备份到云盘。
Mac上我推荐MacPaw的Encrypto, 好像也有Windows版本了
部署
Native 部署
MacOS Launchd
1 |
|
如果你用的venv 那么请记得添加环境变量
1 | <key>EnvironmentVariables</key> |
更多 Launchd 的使用方法 请阅读我另外一篇介绍 Launchd,如何在Mac上运行服务
Linux
Linux 请参考 systemd
Container 部署
1 | https://hub.docker.com/u/fava |
1 | docker run --detach --name="beancount" --publish 5000:5000 \ |
这里如果熟悉docker命令的话就很直观了,我还是简要介绍一下各个参数的意思
参数 | 简介 |
---|---|
detach | docker 在后台跑这个进程,可以用attach将其带回前台 |
name | 命名的容器 |
publish | 开放端口的映射 |
volumn | 将beancount文件用volumn挂载 |
env | 通过环境遍历的方式告诉fava哪里去找beancount文件 |
env | 通过环境遍历的方式告诉fava哪里去找beancount文件 |
更多信息,请参考
编辑器插件
Vim
Vim的插件 可以进行高亮,锁进以及错误检查。只许是用你最喜欢的插件管理器(我一般使用Vundle)加入这个插件即可。
Emacs
1 | https://github.com/beancount/beancount/blob/master/editors/emacs/beancount.el |
我用的是 spacemacs 只需要配置 user-config 指向 beancount repo中的emacs插件即可
1 | (add-to-list 'load-path "~/code/beancount/editors/emacs/") |
VSCode
VSCode 用的最多。VSCode beancount插件功能很不错,对齐,高亮,都不错。
自动补全唯一遗憾的就是好像目前还不能通过include
去发现已有的账户去补全。
1 | https://marketplace.visualstudio.com/items?itemName=Lencerf.beancount |
系列介绍
准备用一个系列的文章来介绍这个工具和一些技巧。
这些技巧有一些是我从已有的模版中找出来,也有一些是在Google Group里看到大家的推荐,自己又尝试出来的方法。
- 先导 复式借贷记账法 Beancount (0) - 先导
- 基础知识 复式借贷记账法 Beancount (1) - 基础知识
- 环境设置 复式借贷记账法 Beancount (2) - 环境设置
- 如何对房产建模 复式借贷记账法 Beancount (3) - 房产
- 如何对RSU建模 复式借贷记账法 Beancount (4) - RSU
- 如何对ESPP建模
- 自动化导入
- 安全